diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-03-28 22:46:51 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-03-28 22:46:51 +0900 |
| commit | a6cca7c2c41ead0d3eb9afc838d7033465c52764 (patch) | |
| tree | b6cf4cd08ed0801f2ca67f9beae8f065f001e2ca /src/error.c | |
| parent | 144613943d025b174add3463339d6a83737db4ee (diff) | |
| parent | d329d1f421a5e4500216e05f48570ff166c94551 (diff) | |
| download | mruby-a6cca7c2c41ead0d3eb9afc838d7033465c52764.tar.gz mruby-a6cca7c2c41ead0d3eb9afc838d7033465c52764.zip | |
Merge branch 'pr-fix-mrb_format' of https://github.com/monaka/mruby into monaka-pr-fix-mrb_format
Diffstat (limited to 'src/error.c')
| -rw-r--r-- | src/error.c | 12 |
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); |
