diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 19:16:25 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 19:16:25 +0000 |
commit | 8d59503b977070aaa4e504e8d6dcb7da3711893e (patch) | |
tree | 8272c9c2cce43afa4fe4d8d92c269a6435242661 /libio/iofclose.c | |
parent | 76a7dc16fab8853ef9230447fa98c70a3619dc6d (diff) | |
parent | bcea9593527d90b9f9ff3817e3fbf0fbc3d01fa7 (diff) |
Merge commit 'refs/top-bases/t/gsync-libc-merge' into t/gsync-libc-merge
Diffstat (limited to 'libio/iofclose.c')
-rw-r--r-- | libio/iofclose.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/libio/iofclose.c b/libio/iofclose.c index 33b130eb25..7a8b89f9f5 100644 --- a/libio/iofclose.c +++ b/libio/iofclose.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2016 Free Software Foundation, Inc. +/* Copyright (C) 1993-2018 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 @@ -26,16 +26,11 @@ #include "libioP.h" #include <stdlib.h> -#if _LIBC -# include "../iconv/gconv_int.h" -# include <shlib-compat.h> -#else -# define SHLIB_COMPAT(a, b, c) 0 -# define _IO_new_fclose fclose -#endif +#include "../iconv/gconv_int.h" +#include <shlib-compat.h> int -_IO_new_fclose (_IO_FILE *fp) +_IO_new_fclose (FILE *fp) { int status; @@ -50,11 +45,11 @@ _IO_new_fclose (_IO_FILE *fp) #endif /* First unlink the stream. */ - if (fp->_IO_file_flags & _IO_IS_FILEBUF) + if (fp->_flags & _IO_IS_FILEBUF) _IO_un_link ((struct _IO_FILE_plus *) fp); _IO_acquire_lock (fp); - if (fp->_IO_file_flags & _IO_IS_FILEBUF) + if (fp->_flags & _IO_IS_FILEBUF) status = _IO_file_close_it (fp); else status = fp->_flags & _IO_ERR_SEEN ? -1 : 0; @@ -62,7 +57,6 @@ _IO_new_fclose (_IO_FILE *fp) _IO_FINISH (fp); if (fp->_mode > 0) { -#if _LIBC /* This stream has a wide orientation. This means we have to free the conversion functions. */ struct _IO_codecvt *cc = fp->_codecvt; @@ -71,7 +65,6 @@ _IO_new_fclose (_IO_FILE *fp) __gconv_release_step (cc->__cd_in.__cd.__steps); __gconv_release_step (cc->__cd_out.__cd.__steps); __libc_lock_unlock (__gconv_lock); -#endif } else { @@ -80,15 +73,13 @@ _IO_new_fclose (_IO_FILE *fp) } if (fp != _IO_stdin && fp != _IO_stdout && fp != _IO_stderr) { - fp->_IO_file_flags = 0; + fp->_flags = 0; free(fp); } return status; } -#ifdef _LIBC versioned_symbol (libc, _IO_new_fclose, _IO_fclose, GLIBC_2_1); strong_alias (_IO_new_fclose, __new_fclose) versioned_symbol (libc, __new_fclose, fclose, GLIBC_2_1); -#endif |