/* $NetBSD: snprintf.c,v 1.1.1.1 2000/04/22 14:52:54 simonb Exp $ */ #include #include #ifdef __STDC__ #include #else #include #endif #ifdef __STDC__ int snprintf(char *str, size_t n, const char *fmt, ...) #else int snprintf(str, n, fmt, va_alist) char *str; size_t n; const char *fmt; va_dcl #endif { va_list ap; char *rp; int rval; #ifdef __STDC__ va_start(ap, fmt); #else va_start(ap); #endif #ifdef VSPRINTF_CHARSTAR rp = vsprintf(str, fmt, ap); va_end(ap); return (strlen(rp)); #else rval = vsprintf(str, fmt, ap); va_end(ap); return (rval); #endif } int vsnprintf(str, n, fmt, ap) char *str; size_t n; const char *fmt; va_list ap; { #ifdef VSPRINTF_CHARSTAR return (strlen(vsprintf(str, fmt, ap))); #else return (vsprintf(str, fmt, ap)); #endif }