lineedit: do not hang on error, but return error indicator.
[oweals/busybox.git] / libbb / perror_msg.c
index af9ff5949804029f116ea36d20a906b085820b8b..fa1f0d3398f087b7cde0b4c56dffa06e6e65b678 100644 (file)
@@ -4,12 +4,11 @@
  *
  * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 #include "libbb.h"
 
-void bb_perror_msg(const char *s, ...)
+void FAST_FUNC bb_perror_msg(const char *s, ...)
 {
        va_list p;
 
@@ -19,7 +18,23 @@ void bb_perror_msg(const char *s, ...)
        va_end(p);
 }
 
-void bb_simple_perror_msg(const char *s)
+void FAST_FUNC bb_perror_msg_and_die(const char *s, ...)
+{
+       va_list p;
+
+       va_start(p, s);
+       /* Guard against "<error message>: Success" */
+       bb_verror_msg(s, p, errno ? strerror(errno) : NULL);
+       va_end(p);
+       xfunc_die();
+}
+
+void FAST_FUNC bb_simple_perror_msg(const char *s)
 {
        bb_perror_msg("%s", s);
 }
+
+void FAST_FUNC bb_simple_perror_msg_and_die(const char *s)
+{
+       bb_perror_msg_and_die("%s", s);
+}