X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Flexer%2Fsegment.c;h=3e060a5b9f9e9e3d8342ad641d47dad594b953df;hb=9ecd5482c0847e65b012509008deb1a19e501c67;hp=93eb1e8f8594b564d768737f5e84057da8085009;hpb=b8d42f839cb1c553e953807bd2baced6fdd7c616;p=pspp diff --git a/src/language/lexer/segment.c b/src/language/lexer/segment.c index 93eb1e8f85..3e060a5b9f 100644 --- a/src/language/lexer/segment.c +++ b/src/language/lexer/segment.c @@ -286,20 +286,23 @@ segmenter_parse_number__ (struct segmenter *s, const char *input, size_t n, if (!eof) return -1; goto number; - }; + } if (input[ofs] == '.') { + if (ofs + 1 >= n) + { + if (!eof) + return -1; + goto number; + } + ofs = skip_digits (input, n, eof, ofs + 1); if (ofs < 0) return -1; + else if (ofs >= n) + goto number; } - if (ofs >= n) - { - if (!eof) - return -1; - goto number; - } if (input[ofs] == 'e' || input[ofs] == 'E') { ofs++;