kopia lustrzana https://github.com/Hamlib/Hamlib
Try to make rigctl(d)/rotctl(d) a little more robust in case of bad data
https://github.com/Hamlib/Hamlib/issues/1351pull/1392/head
rodzic
0484dc08c8
commit
1a4a189dbc
|
@ -550,6 +550,7 @@ static int scanfc(FILE *fin, const char *format, void *p)
|
||||||
int ret;
|
int ret;
|
||||||
*(char *)p = 0;
|
*(char *)p = 0;
|
||||||
|
|
||||||
|
|
||||||
ret = fscanf(fin, format, p);
|
ret = fscanf(fin, format, p);
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
@ -561,16 +562,16 @@ static int scanfc(FILE *fin, const char *format, void *p)
|
||||||
|
|
||||||
if (!feof(fin))
|
if (!feof(fin))
|
||||||
{
|
{
|
||||||
rig_debug(RIG_DEBUG_ERR,
|
rig_debug(RIG_DEBUG_TRACE,"%s fscanf of:", __func__);
|
||||||
"fscanf: parsing '%s' with '%s'\n",
|
dump_hex((unsigned char *)p, strlen(p));
|
||||||
(char *)p,
|
rig_debug(RIG_DEBUG_TRACE," failed with format '%s'\n", format);
|
||||||
format);
|
ret = 0x0a;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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, %s\n", __func__, errno, strerror(errno)); }
|
if (ferror(fin)) { rig_debug(RIG_DEBUG_ERR, "%s: errno=%d, %s\n", __func__, errno, strerror(errno)); }
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -405,10 +405,18 @@ static int scanfc(FILE *fin, const char *format, void *p)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_ERR, "fscanf: %s\n", strerror(errno));
|
if (!feof(fin))
|
||||||
rig_debug(RIG_DEBUG_ERR, "fscanf: parsing '%s' with '%s'\n", (char *)p, format);
|
{
|
||||||
|
rig_debug(RIG_DEBUG_TRACE,"%s fscanf of:", __func__);
|
||||||
|
dump_hex((unsigned char *)p, strlen(p));
|
||||||
|
rig_debug(RIG_DEBUG_TRACE," failed with format '%s'\n", format);
|
||||||
|
ret = 0x0a;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ferror(fin)) { rig_debug(RIG_DEBUG_ERR, "%s: errno=%d, %s\n", __func__, errno, strerror(errno)); }
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
while (1);
|
while (1);
|
||||||
|
|
Ładowanie…
Reference in New Issue