From: Uwe Hermann Date: Tue, 17 Jul 2018 17:06:05 +0000 (+0200) Subject: strutil: Fix unit test failure (bug #1093). X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=51bf39a1633c;hp=3387a5d8ee7d28cd5927ce36d21765bc051ea175 strutil: Fix unit test failure (bug #1093). Patch by Wojciech Lazarski, thanks a lot! --- diff --git a/src/strutil.c b/src/strutil.c index 5f48e87b..1f558f15 100644 --- a/src/strutil.c +++ b/src/strutil.c @@ -621,12 +621,15 @@ SR_API int sr_parse_rational(const char *str, struct sr_rational *ret) if (str == endptr && (str[0] == '-' || str[0] == '+') && str[1] == '.') endptr += 1; + else if ((str == endptr && str[0] == '.' )) + ; else if (errno) return SR_ERR; if (integral < 0 || str[0] == '-') is_negative = true; + errno = 0; if (*endptr == '.') { const char* start = endptr + 1; fractional = g_ascii_strtoll(start, &endptr, 10); @@ -635,6 +638,7 @@ SR_API int sr_parse_rational(const char *str, struct sr_rational *ret) fractional_len = endptr - start; } + errno = 0; if ((*endptr == 'E') || (*endptr == 'e')) { exponent = g_ascii_strtoll(endptr + 1, &endptr, 10); if (errno)