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