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 (ferror(fin)) rig_debug(RIG_DEBUG_TRACE, "%s: errno=%d\n", __func__, errno);
return ret;
}
while (1);
@ -626,11 +628,10 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
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__);
cmd = 0x0a; // setting 0x0a as though CR/LF was sent
hl_usleep(200*1e6);
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#1? retcode=%d\n", __func__, retcode);
return -1;
}
/* Extended response protocol requested with leading '+' on command

Wyświetl plik

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