svn commit: r334665 - head/stand/libsa
Ian Lepore
ian at FreeBSD.org
Tue Jun 5 17:18:11 UTC 2018
Author: ian
Date: Tue Jun 5 17:18:10 2018
New Revision: 334665
URL: https://svnweb.freebsd.org/changeset/base/334665
Log:
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.
Modified:
head/stand/libsa/printf.c
head/stand/libsa/stand.h
Modified: head/stand/libsa/printf.c
==============================================================================
--- head/stand/libsa/printf.c Tue Jun 5 15:49:35 2018 (r334664)
+++ head/stand/libsa/printf.c Tue Jun 5 17:18:10 2018 (r334665)
@@ -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);
}
/*
Modified: head/stand/libsa/stand.h
==============================================================================
--- head/stand/libsa/stand.h Tue Jun 5 15:49:35 2018 (r334664)
+++ head/stand/libsa/stand.h Tue Jun 5 17:18:10 2018 (r334665)
@@ -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);
More information about the svn-src-head
mailing list