summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-10-09 20:00:17 +0900
committerKOBAYASHI Shuji <[email protected]>2019-10-09 20:00:17 +0900
commit7f6e8e8ddc6b6f33e22c02c3b78280cb74db4725 (patch)
tree145ad74ba9044da03590644f1660460cf8a8592e /mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c
parent7624e2342690930ca1aed2f6a45140b3ee605d46 (diff)
downloadmruby-7f6e8e8ddc6b6f33e22c02c3b78280cb74db4725.tar.gz
mruby-7f6e8e8ddc6b6f33e22c02c3b78280cb74db4725.zip
Fix that `print` command raises `FrozenError` in `mrdb`; ref 1f5a7f2f
#### Before this patch: ``` $ echo 'p true' | bin/mrdb /dev/null (/dev/null:1) mruby application exited. FrozenError: can't modify frozen String (-:0) ``` #### After this patch: ``` $ echo 'p true' | bin/mrdb /dev/null (/dev/null:1) $1 = true (/dev/null:1) ```
Diffstat (limited to 'mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c')
-rw-r--r--mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c b/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c
index 25f071589..f78c1e1fc 100644
--- a/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c
+++ b/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c
@@ -18,7 +18,6 @@ dbgcmd_print(mrb_state *mrb, mrdb_state *mrdb)
{
mrb_value expr;
mrb_value result;
- mrb_value s;
uint8_t wcnt;
int ai;
@@ -39,8 +38,9 @@ dbgcmd_print(mrb_state *mrb, mrdb_state *mrdb)
result = mrb_debug_eval(mrb, mrdb->dbg, RSTRING_PTR(expr), RSTRING_LEN(expr), NULL, 0);
/* $print_no = result */
- s = mrb_str_cat_lit(mrb, result, "\0");
- printf("$%lu = %s\n", (unsigned long)mrdb->print_no++, RSTRING_PTR(s));
+ printf("$%lu = ", (unsigned long)mrdb->print_no++);
+ fwrite(RSTRING_PTR(result), RSTRING_LEN(result), 1, stdout);
+ putc('\n', stdout);
if (mrdb->print_no == 0) {
mrdb->print_no = 1;