00001
00002
00003
00004
00005
00006
00007
00008 #ifdef HAVE_CONFIG_H
00009 #include "config.h"
00010 #endif
00011
00012 #ifndef HAVE_SNPRINTF
00013
00014 #ifndef NO_SYSTEM_INCLUDES
00015 #include <sys/types.h>
00016
00017 #include <stdio.h>
00018 #ifdef __STDC__
00019 #include <stdarg.h>
00020 #else
00021 #include <varargs.h>
00022 #endif
00023 #endif
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 int
00038 #ifdef __STDC__
00039 snprintf(char *str, size_t n, const char *fmt, ...)
00040 #else
00041 snprintf(str, n, fmt, va_alist)
00042 char *str;
00043 size_t n;
00044 const char *fmt;
00045 va_dcl
00046 #endif
00047 {
00048 va_list ap;
00049 int rval;
00050
00051 n = 0;
00052 #ifdef __STDC__
00053 va_start(ap, fmt);
00054 #else
00055 va_start(ap);
00056 #endif
00057 #ifdef SPRINTF_RET_CHARPNT
00058 (void)vsprintf(str, fmt, ap);
00059 va_end(ap);
00060 return (strlen(str));
00061 #else
00062 rval = vsprintf(str, fmt, ap);
00063 va_end(ap);
00064 return (rval);
00065 #endif
00066 }
00067 #endif
00068