X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=lib%2Ffclose.c;fp=lib%2Ffclose.c;h=0000000000000000000000000000000000000000;hp=a0074b77d7b3b73df66d6e0d3a832604f987a671;hb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6;hpb=00fa13ff3f2d5b6e2a94c5e948c38616ff7ad37a diff --git a/lib/fclose.c b/lib/fclose.c deleted file mode 100644 index a0074b7..0000000 --- a/lib/fclose.c +++ /dev/null @@ -1,47 +0,0 @@ -/* fclose replacement. - Copyright (C) 2008 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -#include - -/* Specification. */ -#include - -#include -#include - -/* Override fclose() to call the overridden close(). */ - -int -rpl_fclose (FILE *fp) -#undef fclose -{ - int saved_errno = 0; - - if (fflush (fp)) - saved_errno = errno; - - if (close (fileno (fp)) < 0 && saved_errno == 0) - saved_errno = errno; - - fclose (fp); /* will fail with errno = EBADF */ - - if (saved_errno != 0) - { - errno = saved_errno; - return EOF; - } - return 0; -}