From: Alan D. Brunelle Date: Wed, 3 Oct 2007 14:49:42 +0000 (-0400) Subject: Converted fatal from macro to inline X-Git-Tag: blktrace-1.0.0~59 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=65a7043b1102901880fa6e3173ba2ab34e0cf113;p=blktrace.git Converted fatal from macro to inline Hopefully this will fix a gcc-4.2.1 warning. Signed-off-by: Alan D. Brunelle --- diff --git a/btreplay/btrecord.c b/btreplay/btrecord.c index e02c153..09329f7 100644 --- a/btreplay/btrecord.c +++ b/btreplay/btrecord.c @@ -30,6 +30,7 @@ static char build_date[] = __DATE__ " at "__TIME__; #include #include #include +#include #if !defined(_GNU_SOURCE) # define _GNU_SOURCE @@ -181,13 +182,21 @@ static struct option l_opts[] = { #define ERR_ARGS 1 #define ERR_SYSCALL 2 -#define fatal(errstring, exitval, arg...) \ - do { \ - if (errstring) perror(errstring); \ - fprintf(stderr, ##arg); \ - exit(exitval); \ - /*NOTREACHED*/ \ - } while (0) +static inline void fatal(const char *errstring, const int exitval, + const char *fmt, ...) +{ + va_list ap; + + if (errstring) + perror(errstring); + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + + exit(exitval); + /*NOTREACHED*/ +} /** * match - Return true if this trace is a proper QUEUE transaction diff --git a/btreplay/btreplay.c b/btreplay/btreplay.c index 48181a4..89881cb 100644 --- a/btreplay/btreplay.c +++ b/btreplay/btreplay.c @@ -37,6 +37,7 @@ static char build_date[] = __DATE__ " at "__TIME__; #include #include #include +#include #if !defined(_GNU_SOURCE) # define _GNU_SOURCE @@ -207,13 +208,21 @@ static char usage_str[]; */ #define ERR_ARGS 1 #define ERR_SYSCALL 2 -#define fatal(errstring, exitval, arg...) \ - do { \ - if (errstring) perror(errstring); \ - fprintf(stderr, ##arg); \ - exit(exitval); \ - /*NOTREACHED*/ \ - } while (0) +static inline void fatal(const char *errstring, const int exitval, + const char *fmt, ...) +{ + va_list ap; + + if (errstring) + perror(errstring); + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + + exit(exitval); + /*NOTREACHED*/ +} static inline long long unsigned du64_to_sec(__u64 du64) {