[ovs-dev] [branch-1.1 03/34] util: New function ovs_fatal_valist().

Ben Pfaff blp at nicira.com
Fri Apr 29 21:56:34 UTC 2011


This commit adds a few initial users but more are coming up.
---
 lib/util.c            |    9 +++++++--
 lib/util.h            |    2 ++
 utilities/ovs-dpctl.c |   11 +----------
 utilities/ovs-ofctl.c |   11 +----------
 4 files changed, 11 insertions(+), 22 deletions(-)

diff --git a/lib/util.c b/lib/util.c
index b9dbdc4..c05c582 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -204,9 +204,14 @@ ovs_fatal(int err_no, const char *format, ...)
     va_list args;
 
     va_start(args, format);
-    ovs_error_valist(err_no, format, args);
-    va_end(args);
+    ovs_fatal_valist(err_no, format, args);
+}
 
+/* Same as ovs_fatal() except that the arguments are supplied as a va_list. */
+void
+ovs_fatal_valist(int err_no, const char *format, va_list args)
+{
+    ovs_error_valist(err_no, format, args);
     exit(EXIT_FAILURE);
 }
 
diff --git a/lib/util.h b/lib/util.h
index e533987..9c2352f 100644
--- a/lib/util.h
+++ b/lib/util.h
@@ -155,6 +155,8 @@ void ovs_abort(int err_no, const char *format, ...)
     PRINTF_FORMAT(2, 3) NO_RETURN;
 void ovs_fatal(int err_no, const char *format, ...)
     PRINTF_FORMAT(2, 3) NO_RETURN;
+void ovs_fatal_valist(int err_no, const char *format, va_list)
+    PRINTF_FORMAT(2, 0) NO_RETURN;
 void ovs_error(int err_no, const char *format, ...) PRINTF_FORMAT(2, 3);
 void ovs_error_valist(int err_no, const char *format, va_list)
     PRINTF_FORMAT(2, 0);
diff --git a/utilities/ovs-dpctl.c b/utilities/ovs-dpctl.c
index f3e13a7..9d6bf98 100644
--- a/utilities/ovs-dpctl.c
+++ b/utilities/ovs-dpctl.c
@@ -146,17 +146,8 @@ static void run(int retval, const char *message, ...)
     if (retval) {
         va_list args;
 
-        fprintf(stderr, "%s: ", program_name);
         va_start(args, message);
-        vfprintf(stderr, message, args);
-        va_end(args);
-        if (retval == EOF) {
-            fputs(": unexpected end of file\n", stderr);
-        } else {
-            fprintf(stderr, ": %s\n", strerror(retval));
-        }
-
-        exit(EXIT_FAILURE);
+        ovs_fatal_valist(retval, message, args);
     }
 }
 
diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c
index 201a963..994329e 100644
--- a/utilities/ovs-ofctl.c
+++ b/utilities/ovs-ofctl.c
@@ -199,17 +199,8 @@ static void run(int retval, const char *message, ...)
     if (retval) {
         va_list args;
 
-        fprintf(stderr, "%s: ", program_name);
         va_start(args, message);
-        vfprintf(stderr, message, args);
-        va_end(args);
-        if (retval == EOF) {
-            fputs(": unexpected end of file\n", stderr);
-        } else {
-            fprintf(stderr, ": %s\n", strerror(retval));
-        }
-
-        exit(EXIT_FAILURE);
+        ovs_fatal_valist(retval, message, args);
     }
 }
 
-- 
1.7.4.4




More information about the dev mailing list