printf-hook-builtin: Don't rely on isinf() return value signedness
Many systems don't return a negative value for negative infinities; so do a separate check.
This commit is contained in:
parent
5ce3c9b15a
commit
e71c57467c
|
@ -926,15 +926,16 @@ int builtin_vsnprintf(char *buffer, size_t n, const char *format, va_list ap)
|
||||||
double dval;
|
double dval;
|
||||||
|
|
||||||
dval = va_arg(ap, double);
|
dval = va_arg(ap, double);
|
||||||
if (isinf(dval) == 1)
|
if (isinf(dval))
|
||||||
{
|
{
|
||||||
sarg = flags & FL_UPPER ? "INF" : "inf";
|
if (isgreater(dval, 0.0))
|
||||||
slen = strlen(sarg);
|
{
|
||||||
goto is_string;
|
sarg = flags & FL_UPPER ? "INF" : "inf";
|
||||||
}
|
}
|
||||||
if (isinf(dval) == -1)
|
else
|
||||||
{
|
{
|
||||||
sarg = flags & FL_UPPER ? "-INF" : "-inf";
|
sarg = flags & FL_UPPER ? "-INF" : "-inf";
|
||||||
|
}
|
||||||
slen = strlen(sarg);
|
slen = strlen(sarg);
|
||||||
goto is_string;
|
goto is_string;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue