agilent-dmm: Make protocol parser locale-independent.
This commit is contained in:
parent
357e341d9a
commit
fe9d5abefc
|
@ -234,7 +234,7 @@ static int recv_fetc(const struct sr_dev_inst *sdi, GMatchInfo *match)
|
||||||
struct sr_datafeed_packet packet;
|
struct sr_datafeed_packet packet;
|
||||||
struct sr_datafeed_analog analog;
|
struct sr_datafeed_analog analog;
|
||||||
float fvalue;
|
float fvalue;
|
||||||
char *mstr, *eptr;
|
char *mstr;
|
||||||
|
|
||||||
sr_spew("FETC reply '%s'.", g_match_info_get_string(match));
|
sr_spew("FETC reply '%s'.", g_match_info_get_string(match));
|
||||||
devc = sdi->priv;
|
devc = sdi->priv;
|
||||||
|
@ -252,12 +252,12 @@ static int recv_fetc(const struct sr_dev_inst *sdi, GMatchInfo *match)
|
||||||
fvalue = NAN;
|
fvalue = NAN;
|
||||||
} else {
|
} else {
|
||||||
mstr = g_match_info_fetch(match, 1);
|
mstr = g_match_info_fetch(match, 1);
|
||||||
fvalue = strtof(mstr, &eptr);
|
if (sr_atof_ascii(mstr, &fvalue) != SR_OK || fvalue == 0.0) {
|
||||||
g_free(mstr);
|
g_free(mstr);
|
||||||
if (fvalue == 0.0 && eptr == mstr) {
|
|
||||||
sr_err("Invalid float.");
|
sr_err("Invalid float.");
|
||||||
return SR_ERR;
|
return SR_ERR;
|
||||||
}
|
}
|
||||||
|
g_free(mstr);
|
||||||
if (devc->cur_divider > 0)
|
if (devc->cur_divider > 0)
|
||||||
fvalue /= devc->cur_divider;
|
fvalue /= devc->cur_divider;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue