Mercurial > hg > octave-lyh > gnulib-hg
changeset 6188:665f4d41d10b
2005-08-31 Derek Price <derek@ximbiot.com>
* getdelim.c (getdelim): Return EOF on EOF.
Reported by Larry Jones <lawrence.jones@ugs.com>.
author | Simon Josefsson <simon@josefsson.org> |
---|---|
date | Thu, 01 Sep 2005 11:09:14 +0000 |
parents | 6fb0d3a30d33 |
children | 9d1ed82c5d14 |
files | lib/ChangeLog lib/getdelim.c |
diffstat | 2 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2005-08-31 Derek Price <derek@ximbiot.com> + + * getdelim.c (getdelim): Return EOF on EOF. + Reported by Larry Jones <lawrence.jones@ugs.com>. + 2005-08-31 Paul Eggert <eggert@cs.ucla.edu> * regex_internal.c (re_string_reconstruct): Don't assume buffer
--- a/lib/getdelim.c +++ b/lib/getdelim.c @@ -46,7 +46,7 @@ ssize_t getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp) { - int result; + int result = 0; ssize_t cur_len = 0; ssize_t len; @@ -76,7 +76,10 @@ i = getc (fp); if (i == EOF) + { + result = -1; break; + } /* Make enough space for len+1 (for final NUL) bytes. */ if (cur_len + 1 >= *n) @@ -108,7 +111,7 @@ break; } (*lineptr)[cur_len] = '\0'; - result = cur_len; + result = cur_len ? cur_len : result; unlock_return: funlockfile (fp);