1 | for ( ; i < buflen ; ) {↵ | | 1 | for ( ; i < buflen ; ) {↵
|
2 | switch(ival = bytes[i++]) {↵ | | 2 | switch(ival = bytes[i++]) {↵
|
3 | case '0': case '1': case '2': case '3': case '4':↵ | | 3 | case '0': case '1': case '2': case '3': case '4':↵
|
4 | case '5': case '6': case '7': case '8': case '9':↵ | | 4 | case '5': case '6': case '7': case '8': case '9':↵
|
5 | chars[offset++] = (char)ival;↵ | | 5 | chars[offset++] = (char)ival;↵
|
6 | lastValidOffset = offset;↵ | | 6 | lastValidOffset = offset;↵
|
7 | break; // switch↵ | | 7 | break; // switch↵
|
8 | case '.↵ | | 8 | case 'e':↵
|
9 | ':↵ | | 9 | case 'E':↵
|
10 | state = SDECDIGIT;↵ | | 10 | state = SEXP_STRICT;↵
|
11 | break states;↵ | | 11 | break states;↵
|
12 | case 'e':↵ | | 12 | case '_':↵
|
13 | case 'E':↵ | | 13 | ↵
|
| | | 14 | if (i >= buflen || bytes[i] < '0' || bytes[i] > '9') {↵
|
14 | state = SEXP;↵ | | 15 | state = SE↵
|
| | | 16 | RR_NOT_STRICT;↵
|
15 | break states;↵ | | 17 | break states;↵
|
16 | case '_':↵ | | 18 | }↵
|
17 | break; // switch↵ | | 19 | break; //switch↵
|
18 | default:↵ | | 20 | default:↵
|
19 | state =↵ | | 21 | for ( --i; i < buflen && isWhitespace(bytes[i]); i++) ;↵
|
20 | SCOMPLETE;↵ | | 22 | state = i < buflen ? SERR_NOT_STRICT : SCOMPLETE; ↵
|
21 | break states;↵ | | 23 | break states;↵
|
22 | } // switch↵ | | 24 | } // switch↵
|
23 | } | | 25 | }
|