diff options
Diffstat (limited to 'src/error.c')
| -rw-r--r-- | src/error.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/error.c b/src/error.c index d4e13fc96..37914666f 100644 --- a/src/error.c +++ b/src/error.c @@ -312,15 +312,17 @@ mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...) } void -mrb_warn(const char *fmt, ...) +mrb_warn(mrb_state *mrb, const char *fmt, ...) { #ifdef ENABLE_STDIO - va_list args; + va_list ap; + mrb_value str; - va_start(args, fmt); - printf("warning: "); - vprintf(fmt, args); - va_end(args); + va_start(ap, fmt); + str = mrb_vformat(mrb, fmt, ap); + fputs("warning: ", stderr); + fwrite(RSTRING_PTR(str), RSTRING_LEN(str), 1, stderr); + va_end(ap); #endif } |
