From 05f732b361988d0df967c78f151ae43d4c208be0 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 8 Nov 1998 10:40:28 +0000 Subject: Update. 1998-11-05 1998 H.J. Lu * libio/iofgets.c (_IO_fgets): Don't report error if something was read in and errno is set to EAGAIN. * libio/iofgets_u.c (fgets_unlocked): Likewise. 1998-11-05 Philip Blundell * sysdeps/unix/sysv/linux/net/if_packet.h: Don't include kernel header; it defines too much. Provide a local definition of struct sockaddr_pkt and a comment advising against its use. 1998-11-06 1998 Andreas Schwab * extra-lib.mk: Avoid empty include list. 1998-11-04 Andreas Schwab * extra-lib.mk: Add support for $(lib)-shared-only-routines. * elf/Makefile (libdl-routines): Add dlopenold only if doing versioning. (libdl-shared-only-routines): New variable. 1998-11-06 Paul Eggert Don't invoke localtime_r or gmtime_r unless it's the GNU C library's localtime_r and gmtime_r; there are too many buggy implementations of localtime_r and gmtime_r out there, and it's not worth keeping track of all the different bugs. * time/mktime.c (__EXTENSIONS__): Remove. (): No need to include. * time/strftime.c: Likewise. * time/mktime.c (_POSIX_THREAD_SAFE_FUNCTIONS, HAVE_LOCALTIME_R): Remove. (my_mktime_localtime_r): Renamed from localtime_r; all uses changed. Base it on localtime unless _LIBC. * time/strftime.c (my_strftime_gmtime_r): Renamed from gmtime_r; all uses changed. (my_strftime_localtime_r): Renamed from localtime_r; all uses changed. Base them on localtime/gmtime if not _LIBC. 1998-11-07 Ulrich Drepper * sysdeps/generic/isastream.c: Always return 0 unless it is an invalid file descriptor. This makes this function actually usable. Proposed by Mark Kettenis . --- libio/iofgets.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libio/iofgets.c') diff --git a/libio/iofgets.c b/libio/iofgets.c index d61fb81481..98e82782ce 100644 --- a/libio/iofgets.c +++ b/libio/iofgets.c @@ -46,7 +46,10 @@ _IO_fgets (buf, n, fp) old_error = fp->_IO_file_flags & _IO_ERR_SEEN; fp->_IO_file_flags &= ~_IO_ERR_SEEN; count = _IO_getline (fp, buf, n - 1, '\n', 1); - if (count == 0 || (fp->_IO_file_flags & _IO_ERR_SEEN)) + /* If we read in some bytes and errno is EAGAIN, that error will + be reported for next read. */ + if (count == 0 || ((fp->_IO_file_flags & _IO_ERR_SEEN) + && errno != EAGAIN)) result = NULL; else { -- cgit 1.4.1