diff options
Diffstat (limited to 'include/libbb.h')
-rw-r--r-- | include/libbb.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/libbb.h b/include/libbb.h index 09e8d28e7..3f6fe47ed 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
@@ -211,7 +211,7 @@ PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN | |||
211 | # if ULONG_MAX > 0xffffffff | 211 | # if ULONG_MAX > 0xffffffff |
212 | /* "long" is long enough on this system */ | 212 | /* "long" is long enough on this system */ |
213 | typedef unsigned long uoff_t; | 213 | typedef unsigned long uoff_t; |
214 | # define XATOOFF(a) xatoul_range(a, 0, LONG_MAX) | 214 | # define XATOOFF(a) xatoul_range((a), 0, LONG_MAX) |
215 | /* usage: sz = BB_STRTOOFF(s, NULL, 10); if (errno || sz < 0) die(); */ | 215 | /* usage: sz = BB_STRTOOFF(s, NULL, 10); if (errno || sz < 0) die(); */ |
216 | # define BB_STRTOOFF bb_strtoul | 216 | # define BB_STRTOOFF bb_strtoul |
217 | # define STRTOOFF strtoul | 217 | # define STRTOOFF strtoul |
@@ -220,7 +220,7 @@ typedef unsigned long uoff_t; | |||
220 | # else | 220 | # else |
221 | /* "long" is too short, need "long long" */ | 221 | /* "long" is too short, need "long long" */ |
222 | typedef unsigned long long uoff_t; | 222 | typedef unsigned long long uoff_t; |
223 | # define XATOOFF(a) xatoull_range(a, 0, LLONG_MAX) | 223 | # define XATOOFF(a) xatoull_range((a), 0, LLONG_MAX) |
224 | # define BB_STRTOOFF bb_strtoull | 224 | # define BB_STRTOOFF bb_strtoull |
225 | # define STRTOOFF strtoull | 225 | # define STRTOOFF strtoull |
226 | # define OFF_FMT "ll" | 226 | # define OFF_FMT "ll" |
@@ -237,7 +237,7 @@ typedef unsigned long uoff_t; | |||
237 | # define OFF_FMT "l" | 237 | # define OFF_FMT "l" |
238 | # else | 238 | # else |
239 | typedef unsigned long uoff_t; | 239 | typedef unsigned long uoff_t; |
240 | # define XATOOFF(a) xatoul_range(a, 0, LONG_MAX) | 240 | # define XATOOFF(a) xatoul_range((a), 0, LONG_MAX) |
241 | # define BB_STRTOOFF bb_strtoul | 241 | # define BB_STRTOOFF bb_strtoul |
242 | # define STRTOOFF strtol | 242 | # define STRTOOFF strtol |
243 | # define OFF_FMT "l" | 243 | # define OFF_FMT "l" |
@@ -245,6 +245,12 @@ typedef unsigned long uoff_t; | |||
245 | #endif | 245 | #endif |
246 | /* scary. better ideas? (but do *test* them first!) */ | 246 | /* scary. better ideas? (but do *test* them first!) */ |
247 | #define OFF_T_MAX ((off_t)~((off_t)1 << (sizeof(off_t)*8-1))) | 247 | #define OFF_T_MAX ((off_t)~((off_t)1 << (sizeof(off_t)*8-1))) |
248 | /* Users report bionic to use 32-bit off_t even if LARGEFILE support is requested. | ||
249 | * We misdetected that. Don't let it build: | ||
250 | */ | ||
251 | struct BUG_off_t_size_is_misdetected { | ||
252 | char BUG_off_t_size_is_misdetected[sizeof(off_t) == sizeof(uoff_t) ? 1 : -1]; | ||
253 | }; | ||
248 | 254 | ||
249 | /* Some useful definitions */ | 255 | /* Some useful definitions */ |
250 | #undef FALSE | 256 | #undef FALSE |