(_IO_new_fclose): Detect new streams and handle them appropriately.

This commit is contained in:
Ulrich Drepper 1999-07-28 04:35:54 +00:00
parent 4b77b2f8bb
commit eb23f97ef0

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation, Inc. /* Copyright (C) 1993, 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU IO Library. This file is part of the GNU IO Library.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
@ -36,6 +36,14 @@ _IO_new_fclose (fp)
CHECK_FILE(fp, EOF); CHECK_FILE(fp, EOF);
#if defined PIC && DO_VERSIONING
/* We desperately try to help programs which are using streams in a
strange way and mix old and new functions. Detect old streams
here. */
if (fp->_vtable_offset != 0)
return _IO_old_fclose (fp);
#endif
_IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp); _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
_IO_flockfile (fp); _IO_flockfile (fp);
if (fp->_IO_file_flags & _IO_IS_FILEBUF) if (fp->_IO_file_flags & _IO_IS_FILEBUF)