From: K.Kosako Date: Thu, 15 Mar 2018 01:25:41 +0000 (+0900) Subject: remove (*ABORT) and argument of (*ERROR{n}) to be optional argument (default value... X-Git-Tag: v6.8.0~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=44801495ffd255106359df692e55f7df1ea5bfb6;p=onig remove (*ABORT) and argument of (*ERROR{n}) to be optional argument (default value is ONIG_ABORT) --- diff --git a/src/ascii.c b/src/ascii.c index 92f67e7..dc67e0f 100644 --- a/src/ascii.c +++ b/src/ascii.c @@ -46,10 +46,12 @@ init(void) name = "FAIL"; BC0_P(name, fail); name = "MISMATCH"; BC0_P(name, mismatch); - name = "ABORT"; BC0_P(name, abort); - name = "ERROR"; BC_P(name, error, 1, &t_long); name = "MAX"; BC_B(name, max, 1, &t_long); + name = "ERROR"; + args[0] = ONIG_TYPE_LONG; opts[0].l = ONIG_ABORT; + BC_P_O(name, error, 1, args, 1, opts); + name = "COUNT"; args[0] = ONIG_TYPE_CHAR; opts[0].c = '>'; BC_B_O(name, count, 1, args, 1, opts); diff --git a/src/oniguruma.h b/src/oniguruma.h index 31cb5cd..bb4671b 100644 --- a/src/oniguruma.h +++ b/src/oniguruma.h @@ -1016,8 +1016,6 @@ int onig_builtin_fail P_((OnigCalloutArgs* args, void* user_data)); ONIG_EXTERN int onig_builtin_mismatch P_((OnigCalloutArgs* args, void* user_data)); ONIG_EXTERN -int onig_builtin_abort P_((OnigCalloutArgs* args, void* user_data)); -ONIG_EXTERN int onig_builtin_error P_((OnigCalloutArgs* args, void* user_data)); ONIG_EXTERN int onig_builtin_count P_((OnigCalloutArgs* args, void* user_data)); diff --git a/src/regexec.c b/src/regexec.c index 4918057..541d2ea 100644 --- a/src/regexec.c +++ b/src/regexec.c @@ -5301,12 +5301,6 @@ onig_builtin_mismatch(OnigCalloutArgs* args ARG_UNUSED, void* user_data ARG_UNUS return ONIG_CALLOUT_MISMATCH; } -extern int -onig_builtin_abort(OnigCalloutArgs* args ARG_UNUSED, void* user_data ARG_UNUSED) -{ - return ONIG_CALLOUT_ABORT; -} - #if 0 extern int onig_builtin_success(OnigCalloutArgs* args ARG_UNUSED, void* user_data ARG_UNUSED) diff --git a/src/regint.h b/src/regint.h index e4cc139..2b7e829 100644 --- a/src/regint.h +++ b/src/regint.h @@ -869,6 +869,15 @@ extern OnigCalloutFunc onig_get_callout_start_func(regex_t* reg, int callout_num if (id < 0) return id;\ } while(0) +#define BC_P_O(name, func, nts, ts, nopts, opts) do {\ + int len = onigenc_str_bytelen_null(enc, (UChar* )name);\ + id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\ + (UChar* )(name), (UChar* )((name) + len),\ + ONIG_CALLOUT_IN_PROGRESS,\ + onig_builtin_ ## func, 0, (nts), (ts), (nopts), (opts));\ + if (id < 0) return id;\ +} while(0) + #define BC_B(name, func, na, ts) do {\ int len = onigenc_str_bytelen_null(enc, (UChar* )name);\ id = onig_set_callout_of_name(enc, ONIG_CALLOUT_TYPE_SINGLE,\ diff --git a/src/utf16_be.c b/src/utf16_be.c index 1eeec2d..098ab54 100644 --- a/src/utf16_be.c +++ b/src/utf16_be.c @@ -47,10 +47,12 @@ init(void) name = "\000F\000A\000I\000L\000\000"; BC0_P(name, fail); name = "\000M\000I\000S\000M\000A\000T\000C\000H\000\000"; BC0_P(name, mismatch); - name = "\000A\000B\000O\000R\000T\000\000"; BC0_P(name, abort); - name = "\000E\000R\000R\000O\000R\000\000"; BC_P(name, error, 1, &t_long); name = "\000M\000A\000X\000\000"; BC_B(name, max, 1, &t_long); + name = "\000E\000R\000R\000O\000R\000\000"; + args[0] = ONIG_TYPE_LONG; opts[0].l = ONIG_ABORT; + BC_P_O(name, error, 1, args, 1, opts); + name = "\000C\000O\000U\000N\000T\000\000"; args[0] = ONIG_TYPE_CHAR; opts[0].c = '>'; BC_B_O(name, count, 1, args, 1, opts); diff --git a/src/utf16_le.c b/src/utf16_le.c index dd805e7..dc0d3f1 100644 --- a/src/utf16_le.c +++ b/src/utf16_le.c @@ -45,10 +45,12 @@ init(void) name = "F\000A\000I\000L\000\000\000"; BC0_P(name, fail); name = "M\000I\000S\000M\000A\000T\000C\000H\000\000\000"; BC0_P(name, mismatch); - name = "A\000B\000O\000R\000T\000\000\000"; BC0_P(name, abort); - name = "E\000R\000R\000O\000R\000\000\000"; BC_P(name, error, 1, &t_long); name = "M\000A\000X\000\000\000"; BC_B(name, max, 1, &t_long); + name = "E\000R\000R\000O\000R\000\000\000"; + args[0] = ONIG_TYPE_LONG; opts[0].l = ONIG_ABORT; + BC_P_O(name, error, 1, args, 1, opts); + name = "C\000O\000U\000N\000T\000\000\000"; args[0] = ONIG_TYPE_CHAR; opts[0].c = '>'; BC_B_O(name, count, 1, args, 1, opts);