comparison src/lread.c @ 21911:8087931b409e

(isfloat_string): Don't look at bytes before the string.
author Richard M. Stallman <rms@gnu.org>
date Sun, 03 May 1998 00:50:06 +0000
parents 7a44b61e263b
children 8dad06385435
comparison
equal deleted inserted replaced
21910:702383d93b75 21911:8087931b409e
1993 isfloat_string (cp) 1993 isfloat_string (cp)
1994 register char *cp; 1994 register char *cp;
1995 { 1995 {
1996 register int state; 1996 register int state;
1997 1997
1998 char *start = cp;
1999
1998 state = 0; 2000 state = 0;
1999 if (*cp == '+' || *cp == '-') 2001 if (*cp == '+' || *cp == '-')
2000 cp++; 2002 cp++;
2001 2003
2002 if (*cp >= '0' && *cp <= '9') 2004 if (*cp >= '0' && *cp <= '9')
2028 { 2030 {
2029 state |= EXP_INT; 2031 state |= EXP_INT;
2030 while (*cp >= '0' && *cp <= '9') 2032 while (*cp >= '0' && *cp <= '9')
2031 cp++; 2033 cp++;
2032 } 2034 }
2035 else if (cp == start)
2036 ;
2033 else if (cp[-1] == '+' && cp[0] == 'I' && cp[1] == 'N' && cp[2] == 'F') 2037 else if (cp[-1] == '+' && cp[0] == 'I' && cp[1] == 'N' && cp[2] == 'F')
2034 { 2038 {
2035 state |= EXP_INT; 2039 state |= EXP_INT;
2036 cp += 3; 2040 cp += 3;
2037 } 2041 }