[ovs-dev] [daemon 06/10] util: New function ovs_fatal_valist().
Ben Pfaff
blp at nicira.com
Thu Mar 31 23:31:29 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 658f6ba..1883fd3 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 81ce1f7..e8479fc 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.1
More information about the dev
mailing list