diff options
| -rw-r--r-- | src/error.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/error.c b/src/error.c index 52e4958a1..0ad0df5f7 100644 --- a/src/error.c +++ b/src/error.c @@ -249,8 +249,15 @@ 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++; } |
