From d6f9505d3bdc6ae5b2b69ec0b42def20bec1d7be Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Wed, 7 Mar 2012 15:52:07 +0100 Subject: [PATCH] Made getdelim(3) follow POSIX-2008 a bit more closely. It now reads lines that aren't delimited, but terminated by EOF. --- libmaxsi/stdio.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libmaxsi/stdio.c b/libmaxsi/stdio.c index 7ac37ef6..2fd512e1 100644 --- a/libmaxsi/stdio.c +++ b/libmaxsi/stdio.c @@ -64,7 +64,10 @@ ssize_t getdelim(char** lineptr, size_t* n, int delim, FILE* fp) int c; do { - if ( (c = getc(fp)) == EOF ) { goto cleanup; } + if ( (c = getc(fp)) == EOF ) + { + if ( written ) { break; } else { goto cleanup; } + } if ( bufsize <= (size_t) written + 1UL ) { size_t newbufsize = 2UL * bufsize;