Fix display of arguments for rigctl non-readline version

https://github.com/Hamlib/Hamlib/issues/773
pull/779/head
Mike Black W9MDB 2021-08-28 23:44:35 -05:00
rodzic 2c8092d21b
commit d16fa490d7
1 zmienionych plików z 19 dodań i 16 usunięć

Wyświetl plik

@ -878,18 +878,18 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
} }
} }
//rig_debug(RIG_DEBUG_TRACE, "%s: debug1\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug1\n", __func__);
if ((cmd_entry->flags & ARG_IN_LINE) if ((cmd_entry->flags & ARG_IN_LINE)
&& (cmd_entry->flags & ARG_IN1) && (cmd_entry->flags & ARG_IN1)
&& cmd_entry->arg1) && cmd_entry->arg1)
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug2\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug2\n", __func__);
if (interactive) if (interactive)
{ {
char *nl; char *nl;
//rig_debug(RIG_DEBUG_TRACE, "%s: debug2a\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug2a\n", __func__);
if (fgets(arg1, MAXARGSZ, fin) == NULL) if (fgets(arg1, MAXARGSZ, fin) == NULL)
@ -948,13 +948,13 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
} }
else if ((cmd_entry->flags & ARG_IN1) && cmd_entry->arg1) else if ((cmd_entry->flags & ARG_IN1) && cmd_entry->arg1)
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug3\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug3\n", __func__);
if (interactive) if (interactive)
{ {
arg1[0] = fgetc(fin); arg1[0] = fgetc(fin);
arg1[1] = 0; arg1[1] = 0;
//rig_debug(RIG_DEBUG_TRACE, "%s: debug4 arg1=%c\n", __func__, arg1[0]); rig_debug(RIG_DEBUG_TRACE, "%s: debug4 arg1=%c\n", __func__, arg1[0]);
if (prompt && arg1[0] == 0x0a) if (prompt && arg1[0] == 0x0a)
{ {
@ -988,22 +988,25 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
} }
} }
//rig_debug(RIG_DEBUG_TRACE, "%s: debug5\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug5\n", __func__);
if (p1 if (p1
&& p1[0] != '?' && p1[0] != '?'
&& (cmd_entry->flags & ARG_IN2) && (cmd_entry->flags & ARG_IN2)
&& cmd_entry->arg2) && cmd_entry->arg2)
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug6\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug6\n", __func__);
if (interactive) if (interactive)
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug7\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug7\n", __func__);
if (prompt) arg1[0] = fgetc(fin);
arg1[1] = 0;
if (prompt && arg1[0] == 0x0a)
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug8\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug8\n", __func__);
fprintf_flush(fout, "%s: ", cmd_entry->arg2); fprintf_flush(fout, "%s: ", cmd_entry->arg2);
} }
@ -1017,7 +1020,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
} }
else else
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug9\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug9\n", __func__);
retcode = next_word(arg2, argc, argv, 0); retcode = next_word(arg2, argc, argv, 0);
if (EOF == retcode) if (EOF == retcode)
@ -1035,22 +1038,22 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
} }
} }
//rig_debug(RIG_DEBUG_TRACE, "%s: debug10\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug10\n", __func__);
if (p1 if (p1
&& p1[0] != '?' && p1[0] != '?'
&& (cmd_entry->flags & ARG_IN3) && (cmd_entry->flags & ARG_IN3)
&& cmd_entry->arg3) && cmd_entry->arg3)
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug11\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug11\n", __func__);
if (interactive) if (interactive)
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug12\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug12\n", __func__);
if (prompt) if (prompt)
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug13\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug13\n", __func__);
fprintf_flush(fout, "%s: ", cmd_entry->arg3); fprintf_flush(fout, "%s: ", cmd_entry->arg3);
} }
@ -1064,7 +1067,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
} }
else else
{ {
//rig_debug(RIG_DEBUG_TRACE, "%s: debug14\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: debug14\n", __func__);
retcode = next_word(arg3, argc, argv, 0); retcode = next_word(arg3, argc, argv, 0);
if (EOF == retcode) if (EOF == retcode)