From 23928550db5d400f27fa67de29c738ca324a31ea Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 4 Jan 1998 21:47:31 +0000 Subject: [PATCH] . --- lib/closeout.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/closeout.h | 10 ++++++++++ 2 files changed, 70 insertions(+) create mode 100644 lib/closeout.c create mode 100644 lib/closeout.h diff --git a/lib/closeout.c b/lib/closeout.c new file mode 100644 index 000000000..a6fbbf719 --- /dev/null +++ b/lib/closeout.c @@ -0,0 +1,60 @@ +/* closeout.c - close standard output + Copyright (C) 1998 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 2, 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, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#if HAVE_CONFIG_H +# include +#endif + +#if ENABLE_NLS +# include +# define _(Text) gettext (Text) +#else +# define _(Text) Text +#endif + +#ifdef HAVE_STDLIB_H +# include +#endif +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +#endif + +#include +#ifndef errno +extern int errno; +#endif + +#include +#include "closeout.h" +#include "error.h" + +/* Close standard output, exiting with status STATUS on failure. */ +void +close_stdout_status (int status) +{ + if (ferror (stdout)) + error (status, 0, _("write error")); + if (fclose (stdout) != 0) + error (status, errno, _("write error")); +} + +/* Close standard output, exiting with status EXIT_FAILURE on failure. */ +void +close_stdout (void) +{ + close_stdout_status (EXIT_FAILURE); +} diff --git a/lib/closeout.h b/lib/closeout.h new file mode 100644 index 000000000..49eeaf6df --- /dev/null +++ b/lib/closeout.h @@ -0,0 +1,10 @@ +#ifndef PARAMS +# if defined PROTOTYPES || (defined __STDC__ && __STDC__) +# define PARAMS(Args) Args +# else +# define PARAMS(Args) () +# endif +#endif + +void close_stdout PARAMS ((void)); +void close_stdout_status PARAMS ((int status)); -- 2.11.0