X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Flexer%2Flexer.c;h=1caadac1de9854433d499122686d1ffa052d9704;hb=0838c7ce8528a241fd6bb422767e187af4b5d9a7;hp=e72a3e47bc9637d93ad3c1f764b7099686df6d3d;hpb=6fb50290892e920da3af95489bafe74541e55198;p=pspp diff --git a/src/language/lexer/lexer.c b/src/language/lexer/lexer.c index e72a3e47bc..1caadac1de 100644 --- a/src/language/lexer/lexer.c +++ b/src/language/lexer/lexer.c @@ -1209,14 +1209,18 @@ lex_source_read__ (struct lex_source *src) do { size_t head_ofs; + size_t space; size_t n; lex_source_expand__ (src); head_ofs = src->head - src->tail; + space = src->allocated - head_ofs; n = src->reader->class->read (src->reader, &src->buffer[head_ofs], - src->allocated - head_ofs, + space, segmenter_get_prompt (&src->segmenter)); + assert (n <= space); + if (n == 0) { /* End of input.