add db.1.85
[nvi.git] / db.1.85 / PORT / clib / snprintf.c
blob2863fa28d62b077ed1c3cddb3714308f37555fb1
1 #include <sys/types.h>
2 #include <sys/cdefs.h>
4 #include <compat.h>
6 #ifdef __STDC__
7 #include <stdarg.h>
8 #else
9 #include <varargs.h>
10 #endif
12 int
13 #ifdef __STDC__
14 snprintf(char *str, size_t n, const char *fmt, ...)
15 #else
16 snprintf(str, n, fmt, va_alist)
17 char *str;
18 size_t n;
19 const char *fmt;
20 va_dcl
21 #endif
23 va_list ap;
24 char *rp;
25 int rval;
26 #ifdef __STDC__
27 va_start(ap, fmt);
28 #else
29 va_start(ap);
30 #endif
31 #ifdef VSPRINTF_CHARSTAR
32 rp = vsprintf(str, fmt, ap);
33 va_end(ap);
34 return (strlen(rp));
35 #else
36 rval = vsprintf(str, fmt, ap);
37 va_end(ap);
38 return (rval);
39 #endif
42 int
43 vsnprintf(str, n, fmt, ap)
44 char *str;
45 size_t n;
46 const char *fmt;
47 va_list ap;
49 #ifdef VSPRINTF_CHARSTAR
50 return (strlen(vsprintf(str, fmt, ap)));
51 #else
52 return (vsprintf(str, fmt, ap));
53 #endif