Applied patch from Matt Kraai to add v*error functions for handling vararg
authorMark Whitley <markw@lineo.com>
Tue, 5 Dec 2000 19:27:13 +0000 (19:27 -0000)
committerMark Whitley <markw@lineo.com>
Tue, 5 Dec 2000 19:27:13 +0000 (19:27 -0000)
lists in a safe 'n sane fashion.

utility.c

index 7c41ab8fb45f6ceaa3a0835db71a04f227010863..eb3338302a63108d9e9d5bed70a05f3c368c1a31 100644 (file)
--- a/utility.c
+++ b/utility.c
@@ -84,36 +84,35 @@ extern void usage(const char *usage)
        exit(EXIT_FAILURE);
 }
 
-extern void errorMsg(const char *s, ...)
+static void verrorMsg(const char *s, va_list p)
 {
-       va_list p;
-
-       va_start(p, s);
        fflush(stdout);
        fprintf(stderr, "%s: ", applet_name);
        vfprintf(stderr, s, p);
-       va_end(p);
        fflush(stderr);
 }
 
-extern void fatalError(const char *s, ...)
+extern void errorMsg(const char *s, ...)
 {
        va_list p;
 
        va_start(p, s);
-       fflush(stdout);
-       fprintf(stderr, "%s: ", applet_name);
-       vfprintf(stderr, s, p);
+       verrorMsg(s, p);
        va_end(p);
-       fflush(stderr);
-       exit(EXIT_FAILURE);
 }
 
-extern void perrorMsg(const char *s, ...)
+extern void fatalError(const char *s, ...)
 {
        va_list p;
 
        va_start(p, s);
+       verrorMsg(s, p);
+       va_end(p);
+       exit(EXIT_FAILURE);
+}
+
+static void vperrorMsg(const char *s, va_list p)
+{
        fflush(stdout);
        fprintf(stderr, "%s: ", applet_name);
        if (s && *s) {
@@ -121,24 +120,25 @@ extern void perrorMsg(const char *s, ...)
                fputs(": ", stderr);
        }
        fprintf(stderr, "%s\n", strerror(errno));
-       va_end(p);
        fflush(stderr);
 }
 
+extern void perrorMsg(const char *s, ...)
+{
+       va_list p;
+
+       va_start(p, s);
+       vperrorMsg(s, p);
+       va_end(p);
+}
+
 extern void fatalPerror(const char *s, ...)
 {
        va_list p;
 
        va_start(p, s);
-       fflush(stdout);
-       fprintf(stderr, "%s: ", applet_name);
-       if (s && *s) {
-               vfprintf(stderr, s, p);
-               fputs(": ", stderr);
-       }
-       fprintf(stderr, "%s\n", strerror(errno));
+       vperrorMsg(s, p);
        va_end(p);
-       fflush(stderr);
        exit(EXIT_FAILURE);
 }