From 68443abd6099c9f7e9be82490cb4b4829172faf8 Mon Sep 17 00:00:00 2001 From: Jes Bodi Klinke Date: Tue, 29 Nov 2016 11:10:38 -0800 Subject: [PATCH] Fixed non-standard passing of va_list into functions declared with ... --- src/common.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/common.c b/src/common.c index ce6c2aa..f8719df 100644 --- a/src/common.c +++ b/src/common.c @@ -405,12 +405,9 @@ inet_aton(const char *cp, struct in_addr *inp) #endif void -warn(const char *fmt, ...) +vwarn(const char *fmt, va_list list) { - va_list list; - - va_start(list, fmt); - if (fmt) fprintf(stderr, fmt, list); + if (fmt) vfprintf(stderr, fmt, list); #ifndef ANDROID if (errno == 0) { fprintf(stderr, ": WSA error %d\n", WSAGetLastError()); @@ -418,17 +415,32 @@ warn(const char *fmt, ...) fprintf(stderr, ": %s\n", strerror(errno)); } #endif +} + +void +warn(const char *fmt, ...) +{ + va_list list; + + va_start(list, fmt); + vwarn(fmt, list); va_end(list); } +void +vwarnx(const char *fmt, va_list list) +{ + if (fmt) vfprintf(stderr, fmt, list); + fprintf(stderr, "\n"); +} + void warnx(const char *fmt, ...) { va_list list; va_start(list, fmt); - if (fmt) fprintf(stderr, fmt, list); - fprintf(stderr, "\n"); + vwarnx(fmt, list); va_end(list); } @@ -438,7 +450,7 @@ err(int eval, const char *fmt, ...) va_list list; va_start(list, fmt); - warn(fmt, list); + vwarn(fmt, list); va_end(list); exit(eval); } @@ -449,7 +461,7 @@ errx(int eval, const char *fmt, ...) va_list list; va_start(list, fmt); - warnx(fmt, list); + vwarnx(fmt, list); va_end(list); exit(eval); }