comparison src/dmlib.h @ 2392:835b231d8083

Use standard inttypes.h for defining the DM_PRI* format specifiers, except for our custom DM_PRI*_SIZE_T ones.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 09 Jan 2020 20:54:39 +0200
parents 5ffc48a0bebe
children 85700c9b7dc8
comparison
equal deleted inserted replaced
2391:d1992206765a 2392:835b231d8083
16 #include <SDL_render.h> 16 #include <SDL_render.h>
17 #include <stdio.h> 17 #include <stdio.h>
18 #include <stdarg.h> 18 #include <stdarg.h>
19 #include <stdlib.h> 19 #include <stdlib.h>
20 #include <ctype.h> 20 #include <ctype.h>
21 #include <inttypes.h>
21 22
22 23
23 #ifdef DM_USE_ASSERTS 24 #ifdef DM_USE_ASSERTS
24 # include <assert.h> 25 # include <assert.h>
25 #else 26 #else
53 #endif 54 #endif
54 55
55 56
56 // Do we have a valid arch? 57 // Do we have a valid arch?
57 // If so, set some printf specifiers 58 // If so, set some printf specifiers
59 #define DM_PRIu32 PRIu32
60 #define DM_PRId32 PRId32
61 #define DM_PRIx32 PRIx32
62 #define DM_PRIX32 PRIX32
63
64 #define DM_PRIu64 PRIu64
65 #define DM_PRId64 PRId64
66 #define DM_PRIx64 PRIx64
67 #define DM_PRIX64 PRIX64
68
58 #if DM_ARCH == 32 69 #if DM_ARCH == 32
59 # define DM_PRIu32 "u" 70 # define DM_PRIu_SIZE_T PRIu32
60 # define DM_PRId32 "d" 71 # define DM_PRId_SSIZE_T PRId32
61 # define DM_PRIx32 "x" 72 # define DM_PRIx_SIZE_T PRIx32
73 # define DM_PRIX_SIZE_T PRIX32
74 #elif DM_ARCH == 64
62 # ifdef DM_WINDOWS 75 # ifdef DM_WINDOWS
63 # define DM_PRIu64 "u" 76 # define DM_PRIu_SIZE_T "I64u"
64 # define DM_PRId64 "d" 77 # define DM_PRId_SSIZE_T "I64d"
65 # define DM_PRIx64 "x" 78 # define DM_PRIx_SIZE_T "I64x"
79 # define DM_PRIX_SIZE_T "I64X"
66 # else 80 # else
67 # define DM_PRIu64 "llu" 81 # define DM_PRIu_SIZE_T PRIu64
68 # define DM_PRId64 "lld" 82 # define DM_PRId_SSIZE_T PRId64
69 # define DM_PRIx64 "llx" 83 # define DM_PRIx_SIZE_T PRIx64
70 # endif 84 # define DM_PRIX_SIZE_T PRIX64
71 # define DM_PRIu_SIZE_T "u"
72 # define DM_PRId_SSIZE_T "d"
73 # define DM_PRIx_SIZE_T "x"
74 #elif DM_ARCH == 64
75 # define DM_PRIu32 "u"
76 # define DM_PRId32 "d"
77 # define DM_PRIx32 "x"
78 # ifdef DM_WINDOWS
79 # define DM_PRIu64 "I64u"
80 # define DM_PRId64 "I64d"
81 # define DM_PRIx64 "I64x"
82 # define DM_PRIu_SIZE_T "I64u"
83 # define DM_PRId_SSIZE_T "I64d"
84 # define DM_PRIx_SIZE_T "I64x"
85 # else
86 # define DM_PRIu64 "lu"
87 # define DM_PRId64 "ld"
88 # define DM_PRIx64 "lx"
89 # define DM_PRIu_SIZE_T "lu"
90 # define DM_PRId_SSIZE_T "ld"
91 # define DM_PRIx_SIZE_T "lx"
92 # endif 85 # endif
93 #else 86 #else
94 # error Could not determine architecture (32/64bit), please define DM_ARCH=32 or 64 87 # error Could not determine architecture (32/64bit), please define DM_ARCH=32 or 64
95 #endif 88 #endif
96 89