Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Jan 2013 01:19:14 +0000 (UTC)
From:      Sean Bruno <sbruno@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r245524 - user/sbruno/pxestuff/lib/libstand
Message-ID:  <201301170119.r0H1JEVa035456@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301170119.r0H1JEVa035456>