From 4aca87515a5083ae0e31ce3177189fd43b6d05ac Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 3 Jan 2015 13:58:15 +0100 Subject: patch to Vanilla Tomato 1.28 --- .../router/busybox/libbb/fflush_stdout_and_exit.c | 32 ++++++++-------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'release/src/router/busybox/libbb/fflush_stdout_and_exit.c') diff --git a/release/src/router/busybox/libbb/fflush_stdout_and_exit.c b/release/src/router/busybox/libbb/fflush_stdout_and_exit.c index cbba0420..742fb9f5 100644 --- a/release/src/router/busybox/libbb/fflush_stdout_and_exit.c +++ b/release/src/router/busybox/libbb/fflush_stdout_and_exit.c @@ -4,34 +4,26 @@ * * Copyright (C) 2003 Manuel Novoa III * - * 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 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, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ /* Attempt to fflush(stdout), and exit with an error code if stdout is * in an error state. */ -#include -#include -#include +#include "libbb.h" -void bb_fflush_stdout_and_exit(int retval) +void FAST_FUNC fflush_stdout_and_exit(int retval) { - if (fflush(stdout)) { - retval = bb_default_error_retval; + if (fflush(stdout)) + bb_perror_msg_and_die(bb_msg_standard_output); + + if (ENABLE_FEATURE_PREFER_APPLETS && die_sleep < 0) { + /* We are in NOFORK applet. Do not exit() directly, + * but use xfunc_die() */ + xfunc_error_retval = retval; + xfunc_die(); } + exit(retval); } -- cgit v1.2.3-54-g00ecf