1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

[BZ #12724] libio: revert partial POSIX 2008 fclose support

In BZ #12724, partial support for POSIX 2008 fclose behavior was added.
Since it isn't entirely conforming to the spec, some applications are
known to be breaking in this intermediate state.  So revert the partial
support until we can get things fully implemented.

This reverts commit fcabc0f8b1.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger
2012-12-01 13:00:08 -05:00
parent f638872ab4
commit eb6cbd249f
4 changed files with 11 additions and 144 deletions

View File

@ -155,21 +155,13 @@ int
_IO_new_file_close_it (fp)
_IO_FILE *fp;
{
int write_status;
if (!_IO_file_is_open (fp))
return EOF;
int write_status;
if (_IO_in_put_mode (fp))
if ((fp->_flags & _IO_NO_WRITES) == 0
&& (fp->_flags & _IO_CURRENTLY_PUTTING) != 0)
write_status = _IO_do_flush (fp);
else if (fp->_offset != _IO_pos_BAD && fp->_IO_read_base != NULL
&& !_IO_in_backup (fp))
{
off64_t o = _IO_SEEKOFF (fp, 0, _IO_seek_cur, 0);
if (o == WEOF)
write_status = EOF;
else
write_status = _IO_SYSSEEK (fp, o, SEEK_SET) < 0 ? EOF : 0;
}
else
write_status = 0;