goto syntax1;
loop {
buffer.push(c);
- c = stream.get();
- if (stream.eof() || stream.fail())
- break;
- if (!number_char_p(c)) {
- stream.putback(c);
+ c = stream.peek(); // Avoid fail state on EOF.
+ if (stream.eof() || stream.fail() || !number_char_p(c))
break;
- }
+ c = stream.get();
}
// Parse the number.
return read_integer(flags,