* getdelim.c (getdelim): Return EOF on EOF.
Reported by Larry Jones <lawrence.jones@ugs.com>.
+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
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;
i = getc (fp);
if (i == EOF)
+ {
+ result = -1;
break;
+ }
/* Make enough space for len+1 (for final NUL) bytes. */
if (cur_len + 1 >= *n)
break;
}
(*lineptr)[cur_len] = '\0';
- result = cur_len;
+ result = cur_len ? cur_len : result;
unlock_return:
funlockfile (fp);