From 98ec7f96c88d372812718e2f7addfd27e67b433b Mon Sep 17 00:00:00 2001 From: ian Date: Tue, 5 Jun 2018 17:18:10 +0000 Subject: [PATCH] Make the v*printf() functions in libsa return int instead of void. This makes them compatible with the C standard signatures, avoiding spurious mismatch errors in the places where the oddball requirements of standalone code end up putting two declarations of the same function in play. --- stand/libsa/printf.c | 15 ++++++++++----- stand/libsa/stand.h | 6 +++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/stand/libsa/printf.c b/stand/libsa/printf.c index bf0c95fcf98c..34e92b1dfe0f 100644 --- a/stand/libsa/printf.c +++ b/stand/libsa/printf.c @@ -80,11 +80,11 @@ printf(const char *fmt, ...) return retval; } -void +int vprintf(const char *fmt, va_list ap) { - kvprintf(fmt, putchar_wrapper, NULL, 10, ap); + return (kvprintf(fmt, putchar_wrapper, NULL, 10, ap)); } int @@ -140,27 +140,32 @@ snprintf(char *buf, size_t size, const char *cfmt, ...) return retval; } -void +int vsnprintf(char *buf, size_t size, const char *cfmt, va_list ap) { struct print_buf arg; + int retval; arg.buf = buf; arg.size = size; - kvprintf(cfmt, &snprint_func, &arg, 10, ap); + retval = kvprintf(cfmt, &snprint_func, &arg, 10, ap); if (arg.size >= 1) *(arg.buf)++ = 0; + + return (retval); } -void +int vsprintf(char *buf, const char *cfmt, va_list ap) { int retval; retval = kvprintf(cfmt, NULL, (void *)buf, 10, ap); buf[retval] = '\0'; + + return (retval); } /* diff --git a/stand/libsa/stand.h b/stand/libsa/stand.h index 2fdf8a5309e0..aba213c3b934 100644 --- a/stand/libsa/stand.h +++ b/stand/libsa/stand.h @@ -270,9 +270,9 @@ extern void mallocstats(void); extern int printf(const char *fmt, ...) __printflike(1, 2); extern int sprintf(char *buf, const char *cfmt, ...) __printflike(2, 3); extern int snprintf(char *buf, size_t size, const char *cfmt, ...) __printflike(3, 4); -extern void vprintf(const char *fmt, __va_list); -extern void vsprintf(char *buf, const char *cfmt, __va_list); -extern void vsnprintf(char *buf, size_t size, const char *cfmt, __va_list); +extern int vprintf(const char *fmt, __va_list); +extern int vsprintf(char *buf, const char *cfmt, __va_list); +extern int vsnprintf(char *buf, size_t size, const char *cfmt, __va_list); extern void twiddle(u_int callerdiv); extern void twiddle_divisor(u_int globaldiv);