1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
* libio/fileops.c (_IO_new_file_attach): Preserve errno around
	success call of _IO_SEEKOFF or calls which failed because the
	descriptor is for a pipe.
This commit is contained in:
Ulrich Drepper
2008-07-26 23:42:14 +00:00
parent 31f3b159e3
commit c4a710b6b0
2 changed files with 8 additions and 1 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1995, 1997-2005, 2006, 2007
/* Copyright (C) 1993, 1995, 1997-2005, 2006, 2007, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Per Bothner <bothner@cygnus.com>.
@ -428,9 +428,11 @@ _IO_new_file_attach (fp, fd)
/* Get the current position of the file. */
/* We have to do that since that may be junk. */
fp->_offset = _IO_pos_BAD;
int save_errno = errno;
if (_IO_SEEKOFF (fp, (_IO_off64_t)0, _IO_seek_cur, _IOS_INPUT|_IOS_OUTPUT)
== _IO_pos_BAD && errno != ESPIPE)
return NULL;
errno = save_errno;
return fp;
}
INTDEF2(_IO_new_file_attach, _IO_file_attach)