summaryrefslogtreecommitdiffhomepage
path: root/src/error.c
diff options
context:
space:
mode:
authorMasaki Muranaka <[email protected]>2013-03-28 17:35:04 +0900
committerMasaki Muranaka <[email protected]>2013-03-28 17:35:04 +0900
commitc0b5220418879200ed23e34e87485ad591cd9755 (patch)
treea6a2406024a19bc6389163c70b17cb76e704fa25 /src/error.c
parente265d7c7efe51bc425e39c7fa208a6f421bba199 (diff)
downloadmruby-c0b5220418879200ed23e34e87485ad591cd9755.tar.gz
mruby-c0b5220418879200ed23e34e87485ad591cd9755.zip
Modify mrb_name_error() to use mrb_format().
Diffstat (limited to 'src/error.c')
-rw-r--r--src/error.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/error.c b/src/error.c
index 52e4958a1..e65bc5eaf 100644
--- a/src/error.c
+++ b/src/error.c
@@ -292,18 +292,14 @@ mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...)
void
mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...)
{
- mrb_value exc, argv[2];
+ mrb_value exc;
+ mrb_value argv[2];
va_list args;
- char buf[256];
- int n;
va_start(args, fmt);
- n = vsnprintf(buf, sizeof(buf), fmt, args);
+ argv[0] = mrb_vformat(mrb, fmt, args);
va_end(args);
- if (n < 0) {
- n = 0;
- }
- argv[0] = mrb_str_new(mrb, buf, n);
+
argv[1] = mrb_symbol_value(id); /* ignore now */
exc = mrb_class_new_instance(mrb, 1, argv, E_NAME_ERROR);
mrb_exc_raise(mrb, exc);