]> granicus.if.org Git - onig/commitdiff
add onig_is_error_code_needs_param()
authorK.Kosako <kosako@sofnec.co.jp>
Thu, 25 Jul 2019 00:13:40 +0000 (09:13 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Thu, 25 Jul 2019 00:13:40 +0000 (09:13 +0900)
src/oniguruma.h
src/regerror.c

index 04627759946641183c005f88b2f62124b4cd5ce6..18f700c5e86051df3ec4f22d820edada4c54676f 100644 (file)
@@ -770,6 +770,8 @@ int onig_init P_((void));
 ONIG_EXTERN
 int onig_error_code_to_str PV_((OnigUChar* s, int err_code, ...));
 ONIG_EXTERN
+int onig_is_error_code_needs_param PV_((int code));
+ONIG_EXTERN
 void onig_set_warn_func P_((OnigWarnFunc f));
 ONIG_EXTERN
 void onig_set_verb_warn_func P_((OnigWarnFunc f));
index 756482744e7ea60ab5f5db6c20448832b6bf582e..e6d1806b3aa68eec1bbab4f6a04f1291c16a62cf 100644 (file)
@@ -257,6 +257,23 @@ static int to_ascii(OnigEncoding enc, UChar *s, UChar *end,
 }
 
 
+extern int
+onig_is_error_code_needs_param(int code)
+{
+  switch (code) {
+  case ONIGERR_UNDEFINED_NAME_REFERENCE:
+  case ONIGERR_UNDEFINED_GROUP_REFERENCE:
+  case ONIGERR_MULTIPLEX_DEFINED_NAME:
+  case ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL:
+  case ONIGERR_INVALID_GROUP_NAME:
+  case ONIGERR_INVALID_CHAR_IN_GROUP_NAME:
+  case ONIGERR_INVALID_CHAR_PROPERTY_NAME:
+    return 1;
+  default:
+    return 0;
+  }
+}
+
 /* for ONIG_MAX_ERROR_MESSAGE_LEN */
 #define MAX_ERROR_PAR_LEN   30