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