Let rigctl_parse return when EOF is detected

pull/224/head
mdblack98 2020-04-21 10:34:42 -05:00
rodzic 8e1f6c9fc1
commit 1aef1c6285
2 zmienionych plików z 6 dodań i 5 usunięć

Wyświetl plik

@ -490,6 +490,8 @@ static int scanfc(FILE *fin, const char *format, void *p)
} }
if (ret < 1) rig_debug(RIG_DEBUG_TRACE, "%s: ret=%d\n", __func__, ret); if (ret < 1) rig_debug(RIG_DEBUG_TRACE, "%s: ret=%d\n", __func__, ret);
if (ferror(fin)) rig_debug(RIG_DEBUG_TRACE, "%s: errno=%d\n", __func__, errno);
return ret; return ret;
} }
while (1); while (1);
@ -626,11 +628,10 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
do do
{ {
if (scanfc(fin, "%c", &cmd) < 1) if ((retcode = scanfc(fin, "%c", &cmd)) < 1)
{ {
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#1?\n", __func__); rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#1? retcode=%d\n", __func__, retcode);
cmd = 0x0a; // setting 0x0a as though CR/LF was sent return -1;
hl_usleep(200*1e6);
} }
/* Extended response protocol requested with leading '+' on command /* Extended response protocol requested with leading '+' on command

Wyświetl plik

@ -1031,7 +1031,7 @@ void *handle_socket(void *arg)
retcode = 1; retcode = 1;
} }
if (retcode == 1) if (retcode == 1 || retcode == -1)
{ {
retcode = rig_close(my_rig); retcode = rig_close(my_rig);
rig_debug(RIG_DEBUG_ERR,"%s: rig_close retcode=%d\n", __func__, retcode); rig_debug(RIG_DEBUG_ERR,"%s: rig_close retcode=%d\n", __func__, retcode);