Files
Mozilla/mozilla/dbm/src/snprintf.c
wtc%netscape.com 23894090e4 Compile this file only if HAVE_SNPRINTF is not defined so that we
won't accidentally override the system's snprintf and vsnprintf
functions.  This patch is contributed by Soren Juul Moller <sjm@nwc.dk>.


git-svn-id: svn://10.0.0.236/trunk@10526 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-20 00:58:30 +00:00

71 lines
1.1 KiB
C

#ifndef HAVE_SNPRINTF
#include "watcomfx.h"
#include <sys/types.h>
#include <stddef.h>
#include <stdio.h>
#if defined(_WINDOWS) || defined(SOLARIS) || defined(AIXV3) || defined(AIX) || defined(OSF1) || defined(NEC) || !defined(HAVE_SYS_CDEFS_H)
#include "cdefs.h"
#elif !defined(HPUX) && !defined(UNIXWARE) && !defined(SNI)
#include <sys/cdefs.h>
#endif
#include "prtypes.h"
#include <ncompat.h>
#ifdef __STDC__
#include <stdarg.h>
#else
#include <varargs.h>
#endif
int
#ifdef __STDC__
snprintf(char *str, size_t n, const char *fmt, ...)
#else
snprintf(str, n, fmt, va_alist)
char *str;
size_t n;
const char *fmt;
va_dcl
#endif
{
va_list ap;
#ifdef VSPRINTF_CHARSTAR
char *rp;
#else
int rval;
#endif
#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
}
#endif /* HAVE_SNPRINTF */