|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
-** $Id: liolib.c,v 2.125 2014/05/21 15:24:21 roberto Exp roberto $
|
|
|
+** $Id: liolib.c,v 2.126 2014/06/02 03:00:51 roberto Exp roberto $
|
|
|
** Standard I/O (and system) library
|
|
|
** See Copyright Notice in lua.h
|
|
|
*/
|
|
@@ -402,11 +402,11 @@ static int test2 (RN *rn, const char *set) {
|
|
|
|
|
|
|
|
|
/*
|
|
|
-** Read a sequence of (hexa)digits
|
|
|
+** Read a sequence of (hex)digits
|
|
|
*/
|
|
|
-static int readdigits (RN *rn, int hexa) {
|
|
|
+static int readdigits (RN *rn, int hex) {
|
|
|
int count = 0;
|
|
|
- while ((hexa ? isxdigit(rn->c) : isdigit(rn->c)) && nextc(rn))
|
|
|
+ while ((hex ? isxdigit(rn->c) : isdigit(rn->c)) && nextc(rn))
|
|
|
count++;
|
|
|
return count;
|
|
|
}
|
|
@@ -426,7 +426,7 @@ static int readdigits (RN *rn, int hexa) {
|
|
|
static int read_number (lua_State *L, FILE *f) {
|
|
|
RN rn;
|
|
|
int count = 0;
|
|
|
- int hexa = 0;
|
|
|
+ int hex = 0;
|
|
|
char decp[2] = ".";
|
|
|
rn.f = f; rn.n = 0;
|
|
|
decp[0] = getlocaledecpoint(); /* get decimal point from locale */
|
|
@@ -434,13 +434,13 @@ static int read_number (lua_State *L, FILE *f) {
|
|
|
do { rn.c = l_getc(rn.f); } while (isspace(rn.c)); /* skip spaces */
|
|
|
test2(&rn, "-+"); /* optional signal */
|
|
|
if (test2(&rn, "0")) {
|
|
|
- if (test2(&rn, "xX")) hexa = 1; /* numeral is hexadecimal */
|
|
|
+ if (test2(&rn, "xX")) hex = 1; /* numeral is hexadecimal */
|
|
|
else count = 1; /* count initial '0' as a valid digit */
|
|
|
}
|
|
|
- count += readdigits(&rn, hexa); /* integral part */
|
|
|
+ count += readdigits(&rn, hex); /* integral part */
|
|
|
if (test2(&rn, decp)) /* decimal point? */
|
|
|
- count += readdigits(&rn, hexa); /* fractionary part */
|
|
|
- if (count > 0 && test2(&rn, (hexa ? "pP" : "eE"))) { /* exponent mark? */
|
|
|
+ count += readdigits(&rn, hex); /* fractional part */
|
|
|
+ if (count > 0 && test2(&rn, (hex ? "pP" : "eE"))) { /* exponent mark? */
|
|
|
test2(&rn, "-+"); /* exponent signal */
|
|
|
readdigits(&rn, 0); /* exponent digits */
|
|
|
}
|