2
0
mirror of https://github.com/openvswitch/ovs synced 2025-09-01 14:55:18 +00:00

util: New function ovs_fatal_valist().

This commit adds a few initial users but more are coming up.
This commit is contained in:
Ben Pfaff
2011-03-31 14:50:58 -07:00
parent b725cf028c
commit fcaddd4dd1
4 changed files with 11 additions and 22 deletions

View File

@@ -204,9 +204,14 @@ ovs_fatal(int err_no, const char *format, ...)
va_list args; va_list args;
va_start(args, format); va_start(args, format);
ovs_error_valist(err_no, format, args); ovs_fatal_valist(err_no, format, args);
va_end(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); exit(EXIT_FAILURE);
} }

View File

@@ -155,6 +155,8 @@ void ovs_abort(int err_no, const char *format, ...)
PRINTF_FORMAT(2, 3) NO_RETURN; PRINTF_FORMAT(2, 3) NO_RETURN;
void ovs_fatal(int err_no, const char *format, ...) void ovs_fatal(int err_no, const char *format, ...)
PRINTF_FORMAT(2, 3) NO_RETURN; 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(int err_no, const char *format, ...) PRINTF_FORMAT(2, 3);
void ovs_error_valist(int err_no, const char *format, va_list) void ovs_error_valist(int err_no, const char *format, va_list)
PRINTF_FORMAT(2, 0); PRINTF_FORMAT(2, 0);

View File

@@ -146,17 +146,8 @@ static void run(int retval, const char *message, ...)
if (retval) { if (retval) {
va_list args; va_list args;
fprintf(stderr, "%s: ", program_name);
va_start(args, message); va_start(args, message);
vfprintf(stderr, message, args); ovs_fatal_valist(retval, 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);
} }
} }

View File

@@ -199,17 +199,8 @@ static void run(int retval, const char *message, ...)
if (retval) { if (retval) {
va_list args; va_list args;
fprintf(stderr, "%s: ", program_name);
va_start(args, message); va_start(args, message);
vfprintf(stderr, message, args); ovs_fatal_valist(retval, 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);
} }
} }