summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/internal/floatscan.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/internal/floatscan.c b/src/internal/floatscan.c
index f80db383..4b335f5c 100644
--- a/src/internal/floatscan.c
+++ b/src/internal/floatscan.c
@@ -244,7 +244,7 @@ static long double decfloat(FILE *f, int c, int bits, int emin, int sign, int po
/* Assemble desired bits into floating point variable */
for (y=i=0; i<LD_B1B_DIG; i++) {
- if ((a+i & MASK)==z) x[z=(z+1 & MASK)] = 0;
+ if ((a+i & MASK)==z) x[(z=(z+1 & MASK))-1] = 0;
y = 1000000000.0L * y + x[a+i & MASK];
}