From e9055017f6d2015c4c74c94b1c2bf59968db223f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 7 Jul 2007 21:38:43 +0000 Subject: * libio/wstrops.c (_IO_wstr_underflow): Clear errno before returning WEOF. * stdio-common/Makefile (tests): Add bug18a. * stdio-common/bug18a.c: New file. --- libio/wstrops.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libio') diff --git a/libio/wstrops.c b/libio/wstrops.c index c5aae7bc6a..dfb312f6b7 100644 --- a/libio/wstrops.c +++ b/libio/wstrops.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1993,1997-1999,2001-2004, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1993,1997-1999,2001-2004,2006,2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -154,7 +155,12 @@ _IO_wstr_underflow (fp) if (fp->_wide_data->_IO_read_ptr < fp->_wide_data->_IO_read_end) return *fp->_wide_data->_IO_read_ptr; else - return WEOF; + { + /* We have to reset errno since callers check for errno being + EINTR and there has been no such problem here. */ + __set_errno (0); + return WEOF; + } } -- cgit v1.2.1