summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-proc-ext/src/proc.c2
-rw-r--r--src/backtrace.c15
-rw-r--r--src/error.c2
3 files changed, 8 insertions, 11 deletions
diff --git a/mrbgems/mruby-proc-ext/src/proc.c b/mrbgems/mruby-proc-ext/src/proc.c
index 1e033cbfb..8c9e300dc 100644
--- a/mrbgems/mruby-proc-ext/src/proc.c
+++ b/mrbgems/mruby-proc-ext/src/proc.c
@@ -54,7 +54,7 @@ mrb_proc_inspect(mrb_state *mrb, mrb_value self)
if (line != -1) {
char buf[32];
- snprintf(buf, sizeof(buf), "%"MRB_PRId, line);
+ snprintf(buf, sizeof(buf), "%" PRId32, line);
mrb_str_cat_cstr(mrb, str, buf);
}
else {
diff --git a/src/backtrace.c b/src/backtrace.c
index deb3f8469..9d6f9b1a7 100644
--- a/src/backtrace.c
+++ b/src/backtrace.c
@@ -74,14 +74,13 @@ static void
get_backtrace_i(mrb_state *mrb, struct backtrace_location *loc, void *data)
{
mrb_value ary, str;
- int ai;
+ char buf[32];
+ int ai = mrb_gc_arena_save(mrb);
- ai = mrb_gc_arena_save(mrb);
ary = mrb_obj_value((struct RArray*)data);
str = mrb_str_new_cstr(mrb, loc->filename);
- mrb_str_cat_lit(mrb, str, ":");
- mrb_str_concat(mrb, str, mrb_fixnum_to_str(mrb, mrb_fixnum_value(loc->lineno), 10));
+ snprintf(buf, sizeof(buf), ":%d", loc->lineno);
if (loc->method) {
mrb_str_cat_lit(mrb, str, ":in ");
@@ -399,16 +398,14 @@ mrb_restore_backtrace(mrb_state *mrb)
int ai;
mrb_backtrace_entry *entry;
mrb_value mrb_entry;
+ char buf[32];
ai = mrb_gc_arena_save(mrb);
entry = &(mrb->backtrace.entries[i]);
mrb_entry = mrb_str_new_cstr(mrb, entry->filename);
- mrb_str_cat_lit(mrb, mrb_entry, ":");
- mrb_str_concat(mrb, mrb_entry,
- mrb_fixnum_to_str(mrb,
- mrb_fixnum_value(entry->lineno),
- 10));
+ snprintf(buf, sizeof(buf), ":%d", entry->lineno);
+ mrb_str_cat_cstr(mrb, mrb_entry, buf);
if (entry->method_id != 0) {
mrb_str_cat_lit(mrb, mrb_entry, ":in ");
diff --git a/src/error.c b/src/error.c
index 3ef57f895..2201fc840 100644
--- a/src/error.c
+++ b/src/error.c
@@ -152,7 +152,7 @@ exc_inspect(mrb_state *mrb, mrb_value exc)
char buf[32];
str = mrb_str_dup(mrb, file);
- snprintf(buf, sizeof(buf), ":%"MRB_PRId": ", mrb_fixnum(line));
+ snprintf(buf, sizeof(buf), ":%" MRB_PRId ": ", mrb_fixnum(line));
mrb_str_cat_cstr(mrb, str, buf);
if (append_mesg) {
mrb_str_cat_str(mrb, str, mesg);