From fcaddd4dd1e8feefc09ea2664ad51fb669d136f8 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 31 Mar 2011 14:50:58 -0700 Subject: [PATCH] util: New function ovs_fatal_valist(). 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 b9dbdc48..c05c582f 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 e5339875..9c2352ff 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 f3e13a70..9d6bf985 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 201a9633..994329e6 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); } } -- 2.30.2