xlsxio_private.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef INCLUDED_XLSXIO_PRIVATE_H
  2. #define INCLUDED_XLSXIO_PRIVATE_H
  3. #if defined(_MSC_VER) || (defined(__MINGW32__) && !defined(__MINGW64__))
  4. #define strcasecmp _stricmp
  5. #endif
  6. #ifdef _WIN32
  7. #define wcscasecmp _wcsicmp
  8. #endif
  9. #define XLSXIOCHAR XML_Char
  10. #if !defined(XML_UNICODE_WCHAR_T) && !defined(XML_UNICODE)
  11. //UTF-8 version
  12. #define X(s) s
  13. #ifdef _WIN32
  14. #define XML_Char_icmp stricmp
  15. #else
  16. #define XML_Char_icmp strcasecmp
  17. #endif
  18. #define XML_Char_len strlen
  19. #define XML_Char_dup strdup
  20. #define XML_Char_cpy strcpy
  21. #define XML_Char_poscpy(d,p,s,l) memcpy(d + p, s, l)
  22. #define XML_Char_malloc(n) ((char*)malloc(n))
  23. #define XML_Char_realloc(m,n) ((char*)realloc((m), (n)))
  24. #define XML_Char_tol(s) strtol((s), NULL, 10)
  25. #define XML_Char_tod(s) strtod((s), NULL)
  26. #define XML_Char_strtol strtol
  27. #define XML_Char_sscanf sscanf
  28. #define XML_Char_printf printf
  29. #else
  30. //UTF-16 version
  31. #include <wchar.h>
  32. #define X(s) L##s
  33. #define XML_Char_icmp wcscasecmp
  34. #define XML_Char_len wcslen
  35. #define XML_Char_dup wcsdup
  36. #define XML_Char_cpy wcscpy
  37. #define XML_Char_poscpy(d,p,s,l) wmemcpy(d + p, s, l)
  38. #define XML_Char_malloc(n) ((XML_Char*)malloc((n) * sizeof(XML_Char)))
  39. #define XML_Char_realloc(m,n) ((XML_Char*)realloc((m), (n) * sizeof(XML_Char)))
  40. #define XML_Char_tol(s) wcstol((s), NULL, 10)
  41. #define XML_Char_tod(s) wcstod((s), NULL)
  42. #define XML_Char_strtol wcstol
  43. #define XML_Char_sscanf swscanf
  44. #define XML_Char_printf wprintf
  45. #endif
  46. #endif