diff options
Diffstat (limited to 'security/nss/lib/dbm/src/snprintf.c')
-rw-r--r-- | security/nss/lib/dbm/src/snprintf.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/security/nss/lib/dbm/src/snprintf.c b/security/nss/lib/dbm/src/snprintf.c new file mode 100644 index 0000000000..3cafacf44c --- /dev/null +++ b/security/nss/lib/dbm/src/snprintf.c @@ -0,0 +1,50 @@ +#ifndef HAVE_SNPRINTF + +#include <sys/types.h> +#include <stddef.h> +#include <stdio.h> + +#include "prtypes.h" + +#include <ncompat.h> + +#include <stdarg.h> + +int +snprintf(char *str, size_t n, const char *fmt, ...) +{ + va_list ap; +#ifdef VSPRINTF_CHARSTAR + char *rp; +#else + int rval; +#endif + va_start(ap, fmt); +#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 +} + +#endif /* HAVE_SNPRINTF */ + +/* Some compilers don't like an empty source file. */ +static int dummy = 0; |