• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/json-c/snprintf_compat.h

  1 #ifndef __snprintf_compat_h
  2 #define __snprintf_compat_h
  3 
  4 /**
  5  * @file
  6  * @brief Do not use, json-c internal, may be changed or removed at any time.
  7  */
  8 
  9 /*
 10  * Microsoft's _vsnprintf and _snprint don't always terminate
 11  * the string, so use wrappers that ensure that.
 12  */
 13 
 14 #include <stdarg.h>
 15 
 16 #if !defined(HAVE_SNPRINTF) && (defined(_MSC_VER) || defined(__MINGW32__))
 17 static int json_c_vsnprintf(char *str, size_t size, const char *format, va_list ap)
 18 {
 19         int ret;
 20         ret = _vsnprintf(str, size, format, ap);
 21         str[size - 1] = '\0';
 22         return ret;
 23 }
 24 #define vsnprintf json_c_vsnprintf
 25 
 26 static int json_c_snprintf(char *str, size_t size, const char *format, ...)
 27 {
 28         va_list ap;
 29         int ret;
 30         va_start(ap, format);
 31         ret = json_c_vsnprintf(str, size, format, ap);
 32         va_end(ap);
 33         return ret;
 34 }
 35 #define snprintf json_c_snprintf
 36 
 37 #elif !defined(HAVE_SNPRINTF) /* !HAVE_SNPRINTF */
 38 #error Need vsnprintf!
 39 #endif /* !HAVE_SNPRINTF && defined(WIN32) */
 40 
 41 #endif /* __snprintf_compat_h */
 42 

This page was automatically generated by LXR 0.3.1.  •  OpenWrt