mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
[BZ #6771]
* 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:
parent
31f3b159e3
commit
c4a710b6b0
@ -1,5 +1,10 @@
|
||||
2008-07-26 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #6771]
|
||||
* 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.
|
||||
|
||||
* sunrpc/key_call.c (getkeyserv_handle): Use FD_CLOEXEC instead of
|
||||
magic number.
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user