diff options
author | Markus Pargmann <mpa@pengutronix.de> | 2015-12-08 10:39:27 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-12-10 08:49:52 +0100 |
commit | 647fba8ee386bbbcd430979e41ab4bdda4273673 (patch) | |
tree | c2284ccf91d8a2a54a4a71ee1ae913c213f61a16 /lib | |
parent | 45885266f98577f71cca528538a8512a40228d03 (diff) | |
download | barebox-647fba8ee386bbbcd430979e41ab4bdda4273673.tar.gz barebox-647fba8ee386bbbcd430979e41ab4bdda4273673.tar.xz |
vsprintf: Add scnprintf from kernel
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/vsprintf.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 800ded7939..9b8e8cf5f8 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -595,6 +595,30 @@ int snprintf(char *buf, size_t size, const char *fmt, ...) } EXPORT_SYMBOL(snprintf); +/** + * scnprintf - Format a string and place it in a buffer + * @buf: The buffer to place the result into + * @size: The size of the buffer, including the trailing null space + * @fmt: The format string to use + * @...: Arguments for the format string + * + * The return value is the number of characters written into @buf not including + * the trailing '\0'. If @size is == 0 the function returns 0. + */ + +int scnprintf(char *buf, size_t size, const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + i = vscnprintf(buf, size, fmt, args); + va_end(args); + + return i; +} +EXPORT_SYMBOL(scnprintf); + /* Simplified asprintf. */ char *vasprintf(const char *fmt, va_list ap) { |