commit 7fb4c97f16dee1787a303b8ab7f98cc5da7f4d27
parent 68c338e529b38e430d8b8aa8bfbc9aa73eacdf9e
Author: Yersa Nordman <finwo@pm.me>
Date: Sat, 12 Oct 2019 00:49:05 +0200
Added basic stdint
Diffstat:
2 files changed, 55 insertions(+), 6 deletions(-)
diff --git a/include/limits.h b/include/limits.h
@@ -12,9 +12,9 @@
#endif
#ifndef __LONG_MAX__
#if __WORDSIZE == 64
-#define __LONG_MAX__ 0x7fffffffffffffffl
+#define __LONG_MAX__ 0x7fffffffffffffffL
#else
-#define __LONG_MAX__ 0x7fffffffl
+#define __LONG_MAX__ 0x7fffffffL
#endif
#endif
@@ -48,11 +48,11 @@
#define LONG_MAX (__LONG_MAX__)
#define ULONG_MAX (LONG_MAX * 2ul + 1)
-#define LLONG_MAX 0x7fffffffffffffffll
-#define LLONG_MIN (-1ll - LLONG_MAX)
+#define LLONG_MAX 0x7fffffffffffffffLL
+#define LLONG_MIN (-1LL - LLONG_MAX)
/* Maximum value an `unsigned long long int' can hold. (Minimum is 0.) */
-#define ULLONG_MAX (~0ull)
+#define ULLONG_MAX (~0ULL)
#define SSIZE_MIN LONG_MIN
#define SSIZE_MAX LONG_MAX
@@ -76,7 +76,6 @@
#define LINE_MAX 2048
-/* mutt demanded these */
#define _POSIX_PATH_MAX PATH_MAX
#define MB_LEN_MAX 16
diff --git a/include/stdint.h b/include/stdint.h
@@ -0,0 +1,50 @@
+#ifndef _STDINT_H_
+#define _STDINT_H_
+
+#include <limits.h>
+
+/* (u)int32_t */
+#ifndef uint32_t
+ #if (ULONG_MAX == 0xffffffffUL)
+ typedef unsigned long uint32_t;
+ #elif (UINT_MAX == 0xffffffffUL)
+ typedef unsigned int uint32_t;
+ #elif (USHRT_MAX == 0xffffffffUL)
+ typedef unsigned short uint32_t;
+ #endif
+#endif
+#ifndef int32_t
+ #if (LONG_MAX == 0x7fffffffL)
+ typedef signed long int32_t;
+ #elif (INT_MAX == 0x7fffffffL)
+ typedef signed int int32_t;
+ #elif (SHRT_MAX == 0x7fffffffL)
+ typedef signed short int32_t;
+ #endif
+#endif
+
+/* (u)int64_t */
+#ifndef uint64_t
+ #if (ULLONG_MAX == 0xffffffffffffffffULL)
+ typedef unsigned long long uint64_t;
+ #elif (ULONG_MAX == 0xffffffffffffffffULL)
+ typedef unsigned long uint64_t;
+ #elif (UINT_MAX == 0xffffffffffffffffULL)
+ typedef unsigned int uint64_t;
+ #elif (USHRT_MAX == 0xffffffffffffffffULL)
+ typedef unsigned short uint64_t;
+ #endif
+#endif
+#ifndef int64_t
+ #if (ULLONG_MAX == 0x7fffffffffffffffULL)
+ typedef signed long long int64_t;
+ #elif (ULONG_MAX == 0x7fffffffffffffffULL)
+ typedef signed long int64_t;
+ #elif (UINT_MAX == 0x7fffffffffffffffULL)
+ typedef signed int int64_t;
+ #elif (USHRT_MAX == 0x7fffffffffffffffULL)
+ typedef signed short int64_t;
+ #endif
+#endif
+
+#endif // _STDINT_H_