]> granicus.if.org Git - onig/commitdiff
add an argument into onig_setup_builtin_monitors_by_ascii_encoded_name()
authorK.Kosako <kkosako0@gmail.com>
Sat, 10 Mar 2018 06:29:51 +0000 (15:29 +0900)
committerK.Kosako <kkosako0@gmail.com>
Sat, 10 Mar 2018 06:29:51 +0000 (15:29 +0900)
sample/callout.c
src/oniguruma.h
src/regexec.c

index 25dffb1047b79e5a6272f41682fbdbfae7c72914..4a8531cd235bf018f975475766dc5d280e33b7f3 100644 (file)
@@ -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";
index a171e5cdeed9991f6dfda958e0a1623a164795fb..8048915e4a18c22262afc048d8edeaa10fb8ea84 100644 (file)
@@ -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
 }
index 2d9fc6f5543d7037068621c284d8e2aabe8c8249..03fd53569fa253a8d13be9f935e22872fd3824b7 100644 (file)
@@ -5550,6 +5550,8 @@ onig_builtin_cmp(OnigCalloutArgs* args, void* user_data ARG_UNUSED)
 
 #include <stdio.h>
 
+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";