cmark
My personal build of CMark ✏️
config.h.in (1408B)
1 #ifndef CMARK_CONFIG_H 2 #define CMARK_CONFIG_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #cmakedefine HAVE_STDBOOL_H 9 10 #ifdef HAVE_STDBOOL_H 11 #include <stdbool.h> 12 #elif !defined(__cplusplus) 13 typedef char bool; 14 #endif 15 16 #cmakedefine HAVE___BUILTIN_EXPECT 17 18 #cmakedefine HAVE___ATTRIBUTE__ 19 20 #ifdef HAVE___ATTRIBUTE__ 21 #define CMARK_ATTRIBUTE(list) __attribute__ (list) 22 #else 23 #define CMARK_ATTRIBUTE(list) 24 #endif 25 26 #ifndef CMARK_INLINE 27 #if defined(_MSC_VER) && !defined(__cplusplus) 28 #define CMARK_INLINE __inline 29 #else 30 #define CMARK_INLINE inline 31 #endif 32 #endif 33 34 /* snprintf and vsnprintf fallbacks for MSVC before 2015, 35 due to Valentin Milea http://stackoverflow.com/questions/2915672/ 36 */ 37 38 #if defined(_MSC_VER) && _MSC_VER < 1900 39 40 #include <stdio.h> 41 #include <stdarg.h> 42 43 #define snprintf c99_snprintf 44 #define vsnprintf c99_vsnprintf 45 46 CMARK_INLINE int c99_vsnprintf(char *outBuf, size_t size, const char *format, va_list ap) 47 { 48 int count = -1; 49 50 if (size != 0) 51 count = _vsnprintf_s(outBuf, size, _TRUNCATE, format, ap); 52 if (count == -1) 53 count = _vscprintf(format, ap); 54 55 return count; 56 } 57 58 CMARK_INLINE int c99_snprintf(char *outBuf, size_t size, const char *format, ...) 59 { 60 int count; 61 va_list ap; 62 63 va_start(ap, format); 64 count = c99_vsnprintf(outBuf, size, format, ap); 65 va_end(ap); 66 67 return count; 68 } 69 70 #endif 71 72 #ifdef __cplusplus 73 } 74 #endif 75 76 #endif