From b9007a8f0ac0cb912caddd022d2da51e137f1122 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 24 Feb 2026 09:05:02 +0900 Subject: [PATCH] cmdprint.c: extract next_print_no() helper Consolidate the duplicated print_no increment-and-wrap logic from dbgcmd_print() and dbgcmd_info_local() into a single next_print_no() function. Co-authored-by: Claude --- .../mruby-bin-debugger/tools/mrdb/cmdprint.c | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c b/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c index 027e29afa..1e09f6da1 100644 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c @@ -13,6 +13,14 @@ #include #include "apiprint.h" +static uint32_t +next_print_no(mrdb_state *mrdb) +{ + uint32_t no = mrdb->print_no++; + if (mrdb->print_no == 0) mrdb->print_no = 1; + return no; +} + dbgcmd_state dbgcmd_print(mrb_state *mrb, mrdb_state *mrdb) { @@ -33,14 +41,10 @@ dbgcmd_print(mrb_state *mrb, mrdb_state *mrdb) mrb_value result = mrb_debug_eval(mrb, mrdb->dbg, RSTRING_PTR(expr), RSTRING_LEN(expr), NULL, 0); /* $print_no = result */ - printf("$%lu = ", (unsigned long)mrdb->print_no++); + printf("$%lu = ", (unsigned long)next_print_no(mrdb)); fwrite(RSTRING_PTR(result), RSTRING_LEN(result), 1, stdout); putc('\n', stdout); - if (mrdb->print_no == 0) { - mrdb->print_no = 1; - } - mrb_gc_arena_restore(mrb, ai); return DBGST_PROMPT; @@ -59,11 +63,7 @@ dbgcmd_info_local(mrb_state *mrb, mrdb_state *mrdb) mrb_value result = mrb_debug_eval(mrb, mrdb->dbg, "local_variables", 0, NULL, 1); mrb_value s = mrb_str_cat_lit(mrb, result, "\0"); - printf("$%lu = %s\n", (unsigned long)mrdb->print_no++, RSTRING_PTR(s)); - - if (mrdb->print_no == 0) { - mrdb->print_no = 1; - } + printf("$%lu = %s\n", (unsigned long)next_print_no(mrdb), RSTRING_PTR(s)); mrb_gc_arena_restore(mrb, ai);