Explorar el Código

remove redundant (unmaintained) check in floatscan

also be extra careful to avoid wrapping the circular buffer early
Rich Felker hace 13 años
padre
commit
02eb568ded
Se han modificado 1 ficheros con 3 adiciones y 3 borrados
  1. 3 3
      src/internal/floatscan.c

+ 3 - 3
src/internal/floatscan.c

@@ -89,7 +89,7 @@ static long double decfloat(FILE *f, int c, int bits, int emin, int sign, int po
 			if (gotrad) break;
 			gotrad = 1;
 			lrp = dc;
-		} else if (k < KMAX-2) {
+		} else if (k < KMAX-3) {
 			dc++;
 			if (c!='0') lnz = dc;
 			if (j) x[k] = x[k]*10 + c-'0';
@@ -101,7 +101,7 @@ static long double decfloat(FILE *f, int c, int bits, int emin, int sign, int po
 			gotdig=1;
 		} else {
 			dc++;
-			if (c!='0') x[KMAX-3] |= 1;
+			if (c!='0') x[KMAX-4] |= 1;
 		}
 	}
 	if (!gotrad) lrp=dc;
@@ -143,7 +143,7 @@ static long double decfloat(FILE *f, int c, int bits, int emin, int sign, int po
 	}
 
 	/* Align incomplete final B1B digit */
-	if (k<KMAX && j) {
+	if (j) {
 		for (; j<9; j++) x[k]*=10;
 		k++;
 		j=0;