summaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'libbb')
-rw-r--r--libbb/error_msg_and_die.c11
-rw-r--r--libbb/fflush_stdout_and_exit.c7
-rw-r--r--libbb/herror_msg_and_die.c4
-rw-r--r--libbb/perror_msg_and_die.c4
4 files changed, 12 insertions, 14 deletions
diff --git a/libbb/error_msg_and_die.c b/libbb/error_msg_and_die.c
index 10d9535..7c5a4eb 100644
--- a/libbb/error_msg_and_die.c
+++ b/libbb/error_msg_and_die.c
@@ -15,6 +15,13 @@
int die_sleep;
+void sleep_and_die(void)
+{
+ if (die_sleep)
+ sleep(die_sleep);
+ exit(xfunc_error_retval);
+}
+
void bb_error_msg_and_die(const char *s, ...)
{
va_list p;
@@ -22,7 +29,5 @@ void bb_error_msg_and_die(const char *s, ...)
va_start(p, s);
bb_verror_msg(s, p, NULL);
va_end(p);
- if (die_sleep)
- sleep(die_sleep);
- exit(xfunc_error_retval);
+ sleep_and_die();
}
diff --git a/libbb/fflush_stdout_and_exit.c b/libbb/fflush_stdout_and_exit.c
index 456ce95..6f44770 100644
--- a/libbb/fflush_stdout_and_exit.c
+++ b/libbb/fflush_stdout_and_exit.c
@@ -15,10 +15,7 @@
void fflush_stdout_and_exit(int retval)
{
- if (fflush(stdout)) {
- retval = xfunc_error_retval;
- }
- if (die_sleep)
- sleep(die_sleep);
+ if (fflush(stdout))
+ sleep_and_die();
exit(retval);
}
diff --git a/libbb/herror_msg_and_die.c b/libbb/herror_msg_and_die.c
index f62ddd2..a7a22ca 100644
--- a/libbb/herror_msg_and_die.c
+++ b/libbb/herror_msg_and_die.c
@@ -19,7 +19,5 @@ void bb_herror_msg_and_die(const char *s, ...)
va_start(p, s);
bb_vherror_msg(s, p);
va_end(p);
- if (die_sleep)
- sleep(die_sleep);
- exit(xfunc_error_retval);
+ sleep_and_die();
}
diff --git a/libbb/perror_msg_and_die.c b/libbb/perror_msg_and_die.c
index 2303ba2..7521e71 100644
--- a/libbb/perror_msg_and_die.c
+++ b/libbb/perror_msg_and_die.c
@@ -20,7 +20,5 @@ void bb_perror_msg_and_die(const char *s, ...)
va_start(p, s);
bb_vperror_msg(s, p);
va_end(p);
- if (die_sleep)
- sleep(die_sleep);
- exit(xfunc_error_retval);
+ sleep_and_die();
}