diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2017-11-22 14:12:17 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2017-11-22 14:45:49 +0300 |
commit | 79245407f429a1e10f44452b3a3b10e02a104c7d (patch) | |
tree | 1625e164325fd54f677294e67e27ba842145a734 | |
parent | d30195fc18db741fc59cd3ca00b6de7c3c4296e4 (diff) | |
download | libmicrohttpd-79245407f429a1e10f44452b3a3b10e02a104c7d.tar.gz libmicrohttpd-79245407f429a1e10f44452b3a3b10e02a104c7d.zip |
mhd_limits: improved detection of OFF_T_MAX, SIZE_MAX, added macros for SSIZE_MAX, INT64_MAX
-rw-r--r-- | src/microhttpd/mhd_limits.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/src/microhttpd/mhd_limits.h b/src/microhttpd/mhd_limits.h index b0778112..1b0f5d7d 100644 --- a/src/microhttpd/mhd_limits.h +++ b/src/microhttpd/mhd_limits.h | |||
@@ -72,7 +72,7 @@ | |||
72 | #else /* ! __UINT32_MAX__ */ | 72 | #else /* ! __UINT32_MAX__ */ |
73 | #define UINT32_MAX ((int32_t)0xFFFFFFFF) | 73 | #define UINT32_MAX ((int32_t)0xFFFFFFFF) |
74 | #endif /* ! __UINT32_MAX__ */ | 74 | #endif /* ! __UINT32_MAX__ */ |
75 | #endif /* !UNT32_MAX */ | 75 | #endif /* !UINT32_MAX */ |
76 | 76 | ||
77 | #ifndef UINT64_MAX | 77 | #ifndef UINT64_MAX |
78 | #ifdef __UINT64_MAX__ | 78 | #ifdef __UINT64_MAX__ |
@@ -80,18 +80,48 @@ | |||
80 | #else /* ! __UINT64_MAX__ */ | 80 | #else /* ! __UINT64_MAX__ */ |
81 | #define UINT64_MAX ((uint64_t)0xFFFFFFFFFFFFFFFF) | 81 | #define UINT64_MAX ((uint64_t)0xFFFFFFFFFFFFFFFF) |
82 | #endif /* ! __UINT64_MAX__ */ | 82 | #endif /* ! __UINT64_MAX__ */ |
83 | #endif /* !INT32_MAX */ | 83 | #endif /* !UINT64_MAX */ |
84 | |||
85 | #ifndef INT64_MAX | ||
86 | #ifdef __INT64_MAX__ | ||
87 | #define INT64_MAX __INT64_MAX__ | ||
88 | #else /* ! __INT64_MAX__ */ | ||
89 | #define INT64_MAX ((int64_t)0x7FFFFFFFFFFFFFFF) | ||
90 | #endif /* ! __UINT64_MAX__ */ | ||
91 | #endif /* !INT64_MAX */ | ||
84 | 92 | ||
85 | #ifndef SIZE_MAX | 93 | #ifndef SIZE_MAX |
86 | #ifdef __SIZE_MAX__ | 94 | #ifdef __SIZE_MAX__ |
87 | #define SIZE_MAX __SIZE_MAX__ | 95 | #define SIZE_MAX __SIZE_MAX__ |
96 | #elif defined(UINTPTR_MAX) | ||
97 | #define SIZE_MAX UINTPTR_MAX | ||
88 | #else /* ! __SIZE_MAX__ */ | 98 | #else /* ! __SIZE_MAX__ */ |
89 | #define SIZE_MAX MHD_UNSIGNED_TYPE_MAX_(size_t) | 99 | #define SIZE_MAX MHD_UNSIGNED_TYPE_MAX_(size_t) |
90 | #endif /* ! __SIZE_MAX__ */ | 100 | #endif /* ! __SIZE_MAX__ */ |
91 | #endif /* !SIZE_MAX */ | 101 | #endif /* !SIZE_MAX */ |
92 | 102 | ||
103 | #ifndef SSIZE_MAX | ||
104 | #ifdef __SSIZE_MAX__ | ||
105 | #define SSIZE_MAX __SSIZE_MAX__ | ||
106 | #elif defined(PTRDIFF_MAX) | ||
107 | #define SSIZE_MAX PTRDIFF_MAX | ||
108 | #elif defined(INTPTR_MAX) | ||
109 | #define SSIZE_MAX INTPTR_MAX | ||
110 | #else | ||
111 | #define SSIZE_MAN MHD_SIGNED_TYPE_MAX_(ssize_t) | ||
112 | #endif | ||
113 | #endif /* ! SSIZE_MAX */ | ||
114 | |||
93 | #ifndef OFF_T_MAX | 115 | #ifndef OFF_T_MAX |
116 | #ifdef OFF_MAX | ||
117 | #define OFF_T_MAX OFF_MAX | ||
118 | #elif defined(OFFT_MAX) | ||
119 | #define OFF_T_MAX OFFT_MAX | ||
120 | #elif defined(__APPLE__) && defined(__MACH__) | ||
121 | #define OFF_T_MAX INT64_MAX | ||
122 | #else | ||
94 | #define OFF_T_MAX MHD_SIGNED_TYPE_MAX_(off_t) | 123 | #define OFF_T_MAX MHD_SIGNED_TYPE_MAX_(off_t) |
124 | #endif | ||
95 | #endif /* !OFF_T_MAX */ | 125 | #endif /* !OFF_T_MAX */ |
96 | 126 | ||
97 | #if defined(_LARGEFILE64_SOURCE) && !defined(OFF64_T_MAX) | 127 | #if defined(_LARGEFILE64_SOURCE) && !defined(OFF64_T_MAX) |