119304Speter#include "config.h" 219304Speter 319304Speter#include <sys/types.h> 419304Speter 519304Speter#include <stdio.h> 619304Speter 719304Speter#ifdef __STDC__ 819304Speter#include <stdarg.h> 919304Speter#else 1019304Speter#include <varargs.h> 1119304Speter#endif 1219304Speter 1319304Speter/* 1419304Speter * PUBLIC: #ifndef HAVE_SNPRINTF 1519304Speter * PUBLIC: int snprintf __P((char *, size_t, const char *, ...)); 1619304Speter * PUBLIC: #endif 1719304Speter */ 1819304Speterint 1919304Speter#ifdef __STDC__ 2019304Spetersnprintf(char *str, size_t n, const char *fmt, ...) 2119304Speter#else 2219304Spetersnprintf(str, n, fmt, va_alist) 2319304Speter char *str; 2419304Speter size_t n; 2519304Speter const char *fmt; 2619304Speter va_dcl 2719304Speter#endif 2819304Speter{ 2919304Speter va_list ap; 3019304Speter int rval; 3119304Speter#ifdef __STDC__ 3219304Speter va_start(ap, fmt); 3319304Speter#else 3419304Speter va_start(ap); 3519304Speter#endif 3619304Speter#ifdef SPRINTF_RET_CHARPNT 3719304Speter (void)vsprintf(str, fmt, ap); 3819304Speter va_end(ap); 3919304Speter return (strlen(str)); 4019304Speter#else 4119304Speter rval = vsprintf(str, fmt, ap); 4219304Speter va_end(ap); 4319304Speter return (rval); 4419304Speter#endif 4519304Speter} 46