aboutsummaryrefslogtreecommitdiff
path: root/contrib/minizip/ints.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/minizip/ints.h')
-rw-r--r--contrib/minizip/ints.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/contrib/minizip/ints.h b/contrib/minizip/ints.h
new file mode 100644
index 0000000..4c84375
--- /dev/null
+++ b/contrib/minizip/ints.h
@@ -0,0 +1,57 @@
1/* ints.h -- create integer types for 8, 16, 32, and 64 bits
2 * Copyright (C) 2024 Mark Adler
3 * For conditions of distribution and use, see the copyright notice in zlib.h
4 *
5 * There exist compilers with limits.h, but not stdint.h or inttypes.h.
6 */
7
8#ifndef INTS_H
9#define INTS_H
10#include <limits.h>
11#if defined(UCHAR_MAX) && UCHAR_MAX == 0xff
12 typedef signed char i8_t;
13 typedef unsigned char ui8_t;
14#else
15# error "no 8-bit integer"
16#endif
17#if defined(USHRT_MAX) && USHRT_MAX == 0xffff
18 typedef short i16_t;
19 typedef unsigned short ui16_t;
20#elif defined(UINT_MAX) && UINT_MAX == 0xffff
21 typedef int i16_t;
22 typedef unsigned ui16_t;
23#else
24# error "no 16-bit integer"
25#endif
26#if defined(UINT_MAX) && UINT_MAX == 0xffffffff
27 typedef int i32_t;
28 typedef unsigned ui32_t;
29# define PI32 "d"
30# define PUI32 "u"
31#elif defined(ULONG_MAX) && ULONG_MAX == 0xffffffff
32 typedef long i32_t;
33 typedef unsigned long ui32_t;
34# define PI32 "ld"
35# define PUI32 "lu"
36#else
37# error "no 32-bit integer"
38#endif
39#if defined(ULONG_MAX) && ULONG_MAX == 0xffffffffffffffff
40 typedef long i64_t;
41 typedef unsigned long ui64_t;
42# define PI64 "ld"
43# define PUI64 "lu"
44#elif defined(ULLONG_MAX) && ULLONG_MAX == 0xffffffffffffffff
45 typedef long long i64_t;
46 typedef unsigned long long ui64_t;
47# define PI64 "lld"
48# define PUI64 "llu"
49#elif defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 0xffffffffffffffff
50 typedef long long i64_t;
51 typedef unsigned long long ui64_t;
52# define PI64 "lld"
53# define PUI64 "llu"
54#else
55# error "no 64-bit integer"
56#endif
57#endif