summaryrefslogtreecommitdiffhomepage
path: root/src/error.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-05-10 22:09:02 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-05-10 22:09:02 +0900
commitfad8b1cefafcc40ca86cd87612ed8597ee600da3 (patch)
treedb7ebf663a584ef733abc9c508b64e93801b2815 /src/error.c
parent08660c5b510b4bc5e6a2844e632fda0765e8421a (diff)
downloadmruby-fad8b1cefafcc40ca86cd87612ed8597ee600da3.tar.gz
mruby-fad8b1cefafcc40ca86cd87612ed8597ee600da3.zip
change mrb_warn to get mrb_state and %S formatter
Diffstat (limited to 'src/error.c')
-rw-r--r--src/error.c14
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
}