X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Finternal%2Ffloatscan.c;h=377a008bd86600602c6d1fd877c47f2fa6b26626;hp=0e1f6d06a4ad7593bf909d9c7f38586ee469f147;hb=2ac580fdfe1daf9924f221dc98878ae480306bfa;hpb=fe514951af4e67f05d17d796251af9a8229761eb diff --git a/src/internal/floatscan.c b/src/internal/floatscan.c index 0e1f6d06..377a008b 100644 --- a/src/internal/floatscan.c +++ b/src/internal/floatscan.c @@ -81,8 +81,8 @@ static long double decfloat(FILE *f, int c, int bits, int emin, int sign, int po if (lrp!=-1) break; lrp = dc; } else if (k < KMAX-2) { - if (c!='0') lnz = dc; dc++; + if (c!='0') lnz = dc; if (j) x[k] = x[k]*10 + c-'0'; else x[k] = c-'0'; if (++j==9) { @@ -403,16 +403,16 @@ long double __floatscan(FILE *f, int c, int prec, int pok) switch (prec) { case 0: - bits = 24; - emin = -149; + bits = FLT_MANT_DIG; + emin = FLT_MIN_EXP-bits; break; case 1: - bits = 53; - emin = -1074; + bits = DBL_MANT_DIG; + emin = DBL_MIN_EXP-bits; break; case 2: bits = LDBL_MANT_DIG; - emin = -16445; + emin = LDBL_MIN_EXP-bits; break; default: return 0;