| 1 |
< |
/* Copyright (c) 1992 Regents of the University of California */ |
| 1 |
> |
/* Copyright (c) 1998 Silicon Graphics, Inc. */ |
| 2 |
|
|
| 3 |
|
#ifndef lint |
| 4 |
< |
static char SCCSid[] = "$SunId$ LBL"; |
| 4 |
> |
static char SCCSid[] = "$SunId$ SGI"; |
| 5 |
|
#endif |
| 6 |
|
|
| 7 |
|
/* |
| 539 |
|
if (lnext == '.' && i < MAXWORD) { |
| 540 |
|
str[i++] = lnext; |
| 541 |
|
lnext = scan(); |
| 542 |
+ |
if (i == 1 && !isdigit(lnext)) |
| 543 |
+ |
syntax("badly formed number"); |
| 544 |
|
while (isdigit(lnext) && i < MAXWORD) { |
| 545 |
|
str[i++] = lnext; |
| 546 |
|
lnext = scan(); |
| 547 |
|
} |
| 548 |
|
} |
| 549 |
< |
if ((lnext == 'e' || lnext == 'E') && i < MAXWORD) { |
| 549 |
> |
if ((lnext == 'e' | lnext == 'E') && i < MAXWORD) { |
| 550 |
|
str[i++] = lnext; |
| 551 |
|
lnext = scan(); |
| 552 |
< |
if ((lnext == '-' || lnext == '+') && i < MAXWORD) { |
| 552 |
> |
if ((lnext == '-' | lnext == '+') && i < MAXWORD) { |
| 553 |
|
str[i++] = lnext; |
| 554 |
|
lnext = scan(); |
| 555 |
|
} |
| 556 |
+ |
if (!isdigit(lnext)) |
| 557 |
+ |
syntax("missing exponent"); |
| 558 |
|
while (isdigit(lnext) && i < MAXWORD) { |
| 559 |
|
str[i++] = lnext; |
| 560 |
|
lnext = scan(); |