home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Spezial / SPEZIAL2_97.zip / SPEZIAL2_97.iso / ANWEND / EDITOR / NVI179B / NVI179B.ZIP / clib / snprintf.c < prev    next >
C/C++ Source or Header  |  1996-06-14  |  686b  |  46 lines

  1. #include "config.h"
  2.  
  3. #include <sys/types.h>
  4.  
  5. #include <stdio.h>
  6.  
  7. #ifdef __STDC__
  8. #include <stdarg.h>
  9. #else
  10. #include <varargs.h>
  11. #endif
  12.  
  13. /*
  14.  * PUBLIC: #ifndef HAVE_SNPRINTF
  15.  * PUBLIC: int snprintf __P((char *, size_t, const char *, ...));
  16.  * PUBLIC: #endif
  17.  */
  18. int
  19. #ifdef __STDC__
  20. snprintf(char *str, size_t n, const char *fmt, ...)
  21. #else
  22. snprintf(str, n, fmt, va_alist)
  23.     char *str;
  24.     size_t n;
  25.     const char *fmt;
  26.     va_dcl
  27. #endif
  28. {
  29.     va_list ap;
  30.     int rval;
  31. #ifdef __STDC__
  32.     va_start(ap, fmt);
  33. #else
  34.     va_start(ap);
  35. #endif
  36. #ifdef SPRINTF_RET_CHARPNT
  37.     (void)vsprintf(str, fmt, ap);
  38.     va_end(ap);
  39.     return (strlen(str));
  40. #else
  41.     rval = vsprintf(str, fmt, ap);
  42.     va_end(ap);
  43.     return (rval);
  44. #endif
  45. }
  46.