Mercurial > hg > dmlib
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 |