diff packages/infra/current/src/diag.cxx @ 2978:f01575de4e32

* include/diag.h: * src/diag.cxx: Add diag_vsnprintf().
author sergeig
date Sun, 21 Nov 2010 11:51:29 +0000
parents 74dbf4c3f2e1
children 44b61e2c19f7
line wrap: on
line diff
--- a/packages/infra/current/src/diag.cxx
+++ b/packages/infra/current/src/diag.cxx
@@ -564,6 +564,19 @@ diag_vsprintf(char *buf, const char *fmt
     return (info.len);
 }
 
+int 
+diag_vsnprintf(char *buf, size_t len, const char *fmt, va_list ap)
+{
+    int ret;
+    struct _sputc_info info;
+
+    info.ptr = buf;
+    info.max = len-1;  
+    info.len = 0;
+    ret = _vprintf(_sputc, (void **)&info, fmt, ap);
+    return (info.len);
+}
+
 int
 diag_printf(const char *fmt, ...)
 {