From: Ben Pfaff Date: Thu, 31 Mar 2011 21:50:58 +0000 (-0700) Subject: util: New function ovs_fatal_valist(). X-Git-Tag: v1.1.1~41 X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=commitdiff_plain;h=c84933bf9a73e334207b6b309749d9e9c3b04812 util: New function ovs_fatal_valist(). This commit adds a few initial users but more are coming up. --- diff --git a/lib/util.c b/lib/util.c index b9dbdc480..c05c582fe 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 e53398754..9c2352ffd 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 f3e13a708..9d6bf9852 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 201a9633b..994329e63 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); } }