summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-03-28 22:46:51 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-03-28 22:46:51 +0900
commita6cca7c2c41ead0d3eb9afc838d7033465c52764 (patch)
treeb6cf4cd08ed0801f2ca67f9beae8f065f001e2ca
parent144613943d025b174add3463339d6a83737db4ee (diff)
parentd329d1f421a5e4500216e05f48570ff166c94551 (diff)
downloadmruby-a6cca7c2c41ead0d3eb9afc838d7033465c52764.tar.gz
mruby-a6cca7c2c41ead0d3eb9afc838d7033465c52764.zip
Merge branch 'pr-fix-mrb_format' of https://github.com/monaka/mruby into monaka-pr-fix-mrb_format
-rw-r--r--src/error.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/error.c b/src/error.c
index e65bc5eaf..8b8b8bd35 100644
--- a/src/error.c
+++ b/src/error.c
@@ -249,10 +249,16 @@ mrb_vformat(mrb_state *mrb, const char *format, va_list ap)
}
}
else if (c == '\\') {
- if (!*p) break;
- p++;
+ if (*p) {
+ size = p - b - 1;
+ mrb_ary_push(mrb, ary, mrb_str_new(mrb, b, size));
+ mrb_ary_push(mrb, ary, mrb_str_new(mrb, p, 1));
+ b = ++p;
+ }
+ else {
+ break;
+ }
}
- p++;
}
if (b == format) {
return mrb_str_new_cstr(mrb, format);