From d9c27253ce333e2086b2d758b42dc3ecb8b34c3d Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Sun, 20 Jun 2010 17:14:14 +0200 Subject: Make *printf() return "int" instead of "void" 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 --- 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 b09b7d15db..7e018863bd 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 b435ddecba..9733bbc52e 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 8bca04fdd7..48f6a1a074 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 c3a5d2f32e..9588bc94e4 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); -- cgit v1.2.1