summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2010-03-29 10:55:17 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2010-03-30 14:14:58 +0200
commit362d6375aabbe23239a63a2db86d369590697218 (patch)
tree83c1fb1e52972fde8ffb1b0a42cb874704306e0d
parent6d079ae2cadfd6c0c2916409ff43bbf8e452255e (diff)
downloadbarebox-362d6375aabbe23239a63a2db86d369590697218.tar.gz
barebox-362d6375aabbe23239a63a2db86d369590697218.tar.xz
add snprintf function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--include/stdio.h1
-rw-r--r--lib/vsprintf.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/include/stdio.h b/include/stdio.h
index c23dfc65..cd1a9137 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -31,6 +31,7 @@ static inline void putchar(char c) {
int printf(const char *fmt, ...);
int vprintf(const char *fmt, va_list args);
int sprintf(char * buf, const char *fmt, ...);
+int snprintf(char *buf, size_t size, const char *fmt, ...);
int vsprintf(char *buf, const char *fmt, va_list args);
char *asprintf(const char *fmt, ...);
char *vasprintf(const char *fmt, va_list ap);
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 60083053..26fcaa76 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -547,6 +547,18 @@ int sprintf(char * buf, const char *fmt, ...)
}
EXPORT_SYMBOL(sprintf);
+int snprintf(char * buf, size_t size, const char *fmt, ...)
+{
+ va_list args;
+ int i;
+
+ va_start(args, fmt);
+ i = vsnprintf(buf, size, fmt, args);
+ va_end(args);
+ return i;
+}
+EXPORT_SYMBOL(sprintf);
+
/* Simplified asprintf. */
char *vasprintf(const char *fmt, va_list ap)
{