home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mesa5.zip / mesa5src.zip / snprintf.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  1KB  |  55 lines

  1. /*
  2.  * $Id: snprintf.h,v 1.6 2001/10/08 16:18:31 hno Exp $
  3.  */
  4.  
  5. #ifndef SQUID_SNPRINTF_H
  6. #define SQUID_SNPRINTF_H
  7.  
  8. /* if you have configure you can use this */
  9. #if defined(HAVE_CONFIG_H)
  10. #include "config.h"
  11. #endif
  12.  
  13. /* varargs declarations: */
  14. /* you might have to hand force this by doing #define HAVE_STDARG_H */
  15.  
  16. #if defined(HAVE_STDARG_H)
  17. #include <stdarg.h>
  18. #define HAVE_STDARGS        /* let's hope that works everywhere (mj) */
  19. #define VA_LOCAL_DECL va_list ap;
  20. #define VA_START(f) va_start(ap, f)
  21. #define VA_SHIFT(v,t) ;        /* no-op for ANSI */
  22. #define VA_END va_end(ap)
  23. #else
  24. #if defined(HAVE_VARARGS_H)
  25. #include <varargs.h>
  26. #undef HAVE_STDARGS
  27. #define VA_LOCAL_DECL va_list ap;
  28. #define VA_START(f) va_start(ap)    /* f is ignored! */
  29. #define VA_SHIFT(v,t) v = va_arg(ap,t)
  30. #define VA_END va_end(ap)
  31. #else
  32. #error **NO VARARGS **
  33. #endif
  34. #endif
  35.  
  36. /* you can have ANSI C definitions */
  37.  
  38. #if !HAVE_SNPRINTF
  39. #ifdef HAVE_STDARGS
  40. int snprintf(char *str, size_t count, const char *fmt,...);
  41. #else
  42. int snprintf();
  43. #endif
  44. #endif
  45.  
  46. #if !HAVE_VSNPRINTF
  47. #ifdef HAVE_STDARGS
  48. int vsnprintf(char *str, size_t count, const char *fmt, va_list arg);
  49. #else
  50. int vsnprintf();
  51. #endif
  52. #endif
  53.  
  54. #endif /* SQUID_SNPRINTF_H */
  55.