fix scanning of "-0x" pseudo-hex float (must give negative zero)
[musl] / src / internal / floatscan.c
index 4b335f5..68f576c 100644 (file)
@@ -352,7 +352,7 @@ static long double hexfloat(FILE *f, int bits, int emin, int sign, int pok)
                } else {
                        shlim(f, 0);
                }
-               return 0;
+               return sign * 0.0;
        }
        if (!gotrad) rp = dc;
        while (dc<8) x *= 16, dc++;