[U-Boot] [PATCH 5/6] Make *printf() return "int" instead of "void"

Wolfgang Denk wd at denx.de
Thu Jun 24 00:06:12 CEST 2010


Change the return type of the *printf() functions to the standard
"int"; no changes are needed but returning the already available
length count.

This will save a few additional strlen() calls later...

Signed-off-by: Wolfgang Denk <wd at denx.de>
---
 common/console.c          |   12 ++++++++----
 examples/api/libgenwrap.c |    6 ++++--
 include/common.h          |    8 ++++----
 include/exports.h         |    4 ++--
 4 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/common/console.c b/common/console.c
index b09b7d1..7e01886 100644
--- a/common/console.c
+++ b/common/console.c
@@ -201,7 +201,7 @@ static inline void console_doenv(int file, struct stdio_dev *dev)
 
 /** U-Boot INITIAL CONSOLE-NOT COMPATIBLE FUNCTIONS *************************/
 
-void serial_printf(const char *fmt, ...)
+int serial_printf(const char *fmt, ...)
 {
 	va_list args;
 	uint i;
@@ -216,6 +216,7 @@ void serial_printf(const char *fmt, ...)
 	va_end(args);
 
 	serial_puts(printbuffer);
+	return i;
 }
 
 int fgetc(int file)
@@ -269,7 +270,7 @@ void fputs(int file, const char *s)
 		console_puts(file, s);
 }
 
-void fprintf(int file, const char *fmt, ...)
+int fprintf(int file, const char *fmt, ...)
 {
 	va_list args;
 	uint i;
@@ -285,6 +286,7 @@ void fprintf(int file, const char *fmt, ...)
 
 	/* Send to desired file */
 	fputs(file, printbuffer);
+	return i;
 }
 
 /** U-Boot INITIAL CONSOLE-COMPATIBLE FUNCTION *****************************/
@@ -363,7 +365,7 @@ void puts(const char *s)
 	}
 }
 
-void printf(const char *fmt, ...)
+int printf(const char *fmt, ...)
 {
 	va_list args;
 	uint i;
@@ -379,9 +381,10 @@ void printf(const char *fmt, ...)
 
 	/* Print the string */
 	puts(printbuffer);
+	return i;
 }
 
-void vprintf(const char *fmt, va_list args)
+int vprintf(const char *fmt, va_list args)
 {
 	uint i;
 	char printbuffer[CONFIG_SYS_PBSIZE];
@@ -393,6 +396,7 @@ void vprintf(const char *fmt, va_list args)
 
 	/* Print the string */
 	puts(printbuffer);
+	return i;
 }
 
 /* test if ctrl-c was pressed */
diff --git a/examples/api/libgenwrap.c b/examples/api/libgenwrap.c
index b435dde..9733bbc 100644
--- a/examples/api/libgenwrap.c
+++ b/examples/api/libgenwrap.c
@@ -37,7 +37,7 @@
 /*
  * printf() and vprintf() are stolen from u-boot/common/console.c
  */
-void printf (const char *fmt, ...)
+int printf (const char *fmt, ...)
 {
 	va_list args;
 	uint i;
@@ -53,9 +53,10 @@ void printf (const char *fmt, ...)
 
 	/* Print the string */
 	ub_puts (printbuffer);
+	return i;
 }
 
-void vprintf (const char *fmt, va_list args)
+int vprintf (const char *fmt, va_list args)
 {
 	uint i;
 	char printbuffer[256];
@@ -67,6 +68,7 @@ void vprintf (const char *fmt, va_list args)
 
 	/* Print the string */
 	ub_puts (printbuffer);
+	return i;
 }
 
 void putc (const char c)
diff --git a/include/common.h b/include/common.h
index 8bca04f..48f6a1a 100644
--- a/include/common.h
+++ b/include/common.h
@@ -663,7 +663,7 @@ int	disable_ctrlc (int);	/* 1 to disable, 0 to enable Control-C detect */
  * STDIO based functions (can always be used)
  */
 /* serial stuff */
-void	serial_printf (const char *fmt, ...)
+int	serial_printf (const char *fmt, ...)
 		__attribute__ ((format (__printf__, 1, 2)));
 /* stdin */
 int	getc(void);
@@ -672,9 +672,9 @@ int	tstc(void);
 /* stdout */
 void	putc(const char c);
 void	puts(const char *s);
-void	printf(const char *fmt, ...)
+int	printf(const char *fmt, ...)
 		__attribute__ ((format (__printf__, 1, 2)));
-void	vprintf(const char *fmt, va_list args);
+int	vprintf(const char *fmt, va_list args);
 
 /* stderr */
 #define eputc(c)		fputc(stderr, c)
@@ -689,7 +689,7 @@ void	vprintf(const char *fmt, va_list args);
 #define stderr		2
 #define MAX_FILES	3
 
-void	fprintf(int file, const char *fmt, ...)
+int	fprintf(int file, const char *fmt, ...)
 		__attribute__ ((format (__printf__, 2, 3)));
 void	fputs(int file, const char *s);
 void	fputc(int file, const char c);
diff --git a/include/exports.h b/include/exports.h
index c3a5d2f..9588bc9 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -11,14 +11,14 @@ int  getc(void);
 int  tstc(void);
 void putc(const char);
 void puts(const char*);
-void printf(const char* fmt, ...);
+int printf(const char* fmt, ...);
 void install_hdlr(int, interrupt_handler_t*, void*);
 void free_hdlr(int);
 void *malloc(size_t);
 void free(void*);
 void __udelay(unsigned long);
 unsigned long get_timer(unsigned long);
-void vprintf(const char *, va_list);
+int vprintf(const char *, va_list);
 void do_reset (void);
 unsigned long simple_strtoul(const char *cp,char **endp,unsigned int base);
 char *getenv (char *name);
-- 
1.7.0.1



More information about the U-Boot mailing list