diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index a6b75b600..f3b791e93 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -736,6 +736,8 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc, break; } + rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd==0x%02x\n", __func__, cmd); + if (cmd == 0x0a || cmd == 0x0d) { if (last_was_ret) @@ -935,12 +937,17 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc, if (interactive) { - rig_debug(RIG_DEBUG_TRACE, "%s: debug4\n", __func__); + int c = fgetc(fin); + rig_debug(RIG_DEBUG_TRACE, "%s: debug4 c=%02x\n", __func__, c); - if (prompt) + if (prompt && c == 0x0a) { fprintf_flush(fout, "%s: ", cmd_entry->arg1); } + else + { + ungetc(c, fin); + } if (scanfc(fin, "%s", arg1) < 1) {