svn commit: r245524 - user/sbruno/pxestuff/lib/libstand
Sean Bruno
sbruno at FreeBSD.org
Thu Jan 17 01:19:15 UTC 2013
Author: sbruno
Date: Thu Jan 17 01:19:14 2013
New Revision: 245524
URL: http://svnweb.freebsd.org/changeset/base/245524
Log:
Add snprintf() for now to libstand. I don't know if I actually want this
in base, but let's just see what its used for and how importand this is.
Modified:
user/sbruno/pxestuff/lib/libstand/printf.c
user/sbruno/pxestuff/lib/libstand/stand.h
Modified: user/sbruno/pxestuff/lib/libstand/printf.c
==============================================================================
--- user/sbruno/pxestuff/lib/libstand/printf.c Thu Jan 17 01:18:24 2013 (r245523)
+++ user/sbruno/pxestuff/lib/libstand/printf.c Thu Jan 17 01:19:14 2013 (r245524)
@@ -91,6 +91,31 @@ sprintf(char *buf, const char *cfmt, ...
return retval;
}
+int
+snprintf(char *buf, size_t size, const char *cfmt, ...)
+{
+ int retval;
+ va_list ap;
+ size_t maxsize = (size > 1) ? size - 1 : 0;
+
+ if (maxsize == 0) {
+ buf[0] = '\0';
+ return (0);
+ }
+
+ va_start(ap, cfmt);
+ retval = kvprintf(cfmt, NULL, (void *)buf, 10, ap);
+
+ if (retval < maxsize)
+ buf[retval] = '\0';
+ else
+ buf[maxsize] = '\0';
+
+ va_end(ap);
+
+ return (retval);
+}
+
void
vsprintf(char *buf, const char *cfmt, va_list ap)
{
Modified: user/sbruno/pxestuff/lib/libstand/stand.h
==============================================================================
--- user/sbruno/pxestuff/lib/libstand/stand.h Thu Jan 17 01:18:24 2013 (r245523)
+++ user/sbruno/pxestuff/lib/libstand/stand.h Thu Jan 17 01:19:14 2013 (r245524)
@@ -238,6 +238,7 @@ extern void mallocstats(void);
extern int printf(const char *fmt, ...) __printflike(1, 2);
extern void vprintf(const char *fmt, __va_list);
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 vsprintf(char *buf, const char *cfmt, __va_list);
extern void twiddle(void);
More information about the svn-src-user
mailing list