|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.24 1997/10/15 01:12:21 thomas Exp $ |
| 11 | + * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.25 1997/10/30 01:55:49 momjian Exp $ |
12 | 12 | *
|
13 | 13 | *-------------------------------------------------------------------------
|
14 | 14 | */
|
@@ -241,18 +241,23 @@ other.
|
241 | 241 | return (FCONST);
|
242 | 242 | }
|
243 | 243 | {integer}{
|
| 244 | +char* endptr; |
| 245 | + |
| 246 | +errno =0; |
244 | 247 | ScanString =pstrdup((char*)yytext);
|
245 |
| -yylval.ival =atoi((char*)yytext); |
| 248 | +yylval.ival =strtol((char *)yytext,&endptr,10); |
| 249 | +if (*endptr !='\0' || errno == ERANGE) |
| 250 | +elog(WARN,"\tBad integer input format\n"); |
246 | 251 | return (ICONST);
|
247 | 252 | }
|
248 | 253 | {real}{
|
249 | 254 | char* endptr;
|
250 | 255 |
|
251 | 256 | errno =0;
|
252 | 257 | ScanString =pstrdup((char*)yytext);
|
253 |
| -yylval.dval =strtod(((char *)yytext),&endptr); |
| 258 | +yylval.dval =strtod((char *)yytext,&endptr); |
254 | 259 | if (*endptr !='\0' || errno == ERANGE)
|
255 |
| -elog(WARN,"\tBadfloat8 input format\n"); |
| 260 | +elog(WARN,"\tBadfloat input format\n"); |
256 | 261 | CheckFloat8Val(yylval.dval);
|
257 | 262 | return (FCONST);
|
258 | 263 | }
|
|