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";
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
}
#include <stdio.h>
+static FILE* OutFp;
+
/* name start with "onig_" for macros. */
static int
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;
}
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;
OnigType ts[4];
OnigValue opts[4];
+ if (IS_NOT_NULL(fp))
+ OutFp = (FILE* )fp;
+ else
+ OutFp = stdout;
+
enc = ONIG_ENCODING_ASCII;
name = "MON";