From: K.Kosako Date: Sat, 10 Mar 2018 06:29:51 +0000 (+0900) Subject: add an argument into onig_setup_builtin_monitors_by_ascii_encoded_name() X-Git-Tag: v6.8.0~31 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e3a2e764d37ab4278ab801923706c0435e2ebd7e;p=onig add an argument into onig_setup_builtin_monitors_by_ascii_encoded_name() --- diff --git a/sample/callout.c b/sample/callout.c index 25dffb1..4a8531c 100644 --- a/sample/callout.c +++ b/sample/callout.c @@ -196,7 +196,7 @@ extern int main(int argc, char* argv[]) if (r != ONIG_NORMAL) return -1; /* monitor on */ - r = onig_setup_builtin_monitors_by_ascii_encoded_name(); + r = onig_setup_builtin_monitors_by_ascii_encoded_name(stdout); if (r != ONIG_NORMAL) return -1; name = (UChar* )"foo"; diff --git a/src/oniguruma.h b/src/oniguruma.h index a171e5c..8048915 100644 --- a/src/oniguruma.h +++ b/src/oniguruma.h @@ -1028,7 +1028,7 @@ ONIG_EXTERN int onig_builtin_cmp P_((OnigCalloutArgs* args, void* user_data)); ONIG_EXTERN -int onig_setup_builtin_monitors_by_ascii_encoded_name P_((void)); +int onig_setup_builtin_monitors_by_ascii_encoded_name P_((void* fp)); #ifdef __cplusplus } diff --git a/src/regexec.c b/src/regexec.c index 2d9fc6f..03fd535 100644 --- a/src/regexec.c +++ b/src/regexec.c @@ -5550,6 +5550,8 @@ onig_builtin_cmp(OnigCalloutArgs* args, void* user_data ARG_UNUSED) #include +static FILE* OutFp; + /* name start with "onig_" for macros. */ static int onig_builtin_monitor(OnigCalloutArgs* args, void* user_data) @@ -5571,7 +5573,7 @@ onig_builtin_monitor(OnigCalloutArgs* args, void* user_data) char buf[20]; FILE* fp; - fp = stdout; + fp = OutFp; r = onig_get_arg_by_callout_args(args, 0, &type, &val); if (r != ONIG_NORMAL) return r; @@ -5621,7 +5623,7 @@ onig_builtin_monitor(OnigCalloutArgs* args, void* user_data) } extern int -onig_setup_builtin_monitors_by_ascii_encoded_name(void) +onig_setup_builtin_monitors_by_ascii_encoded_name(void* fp /* FILE* */) { int id; char* name; @@ -5629,6 +5631,11 @@ onig_setup_builtin_monitors_by_ascii_encoded_name(void) OnigType ts[4]; OnigValue opts[4]; + if (IS_NOT_NULL(fp)) + OutFp = (FILE* )fp; + else + OutFp = stdout; + enc = ONIG_ENCODING_ASCII; name = "MON";