summaryrefslogtreecommitdiff
path: root/Zend/zend_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_int.h')
-rw-r--r--Zend/zend_int.h104
1 files changed, 50 insertions, 54 deletions
diff --git a/Zend/zend_int.h b/Zend/zend_int.h
index de48718365..f33b3ff8ec 100644
--- a/Zend/zend_int.h
+++ b/Zend/zend_int.h
@@ -19,17 +19,13 @@
/* $Id$ */
-#ifndef ZEND_INT_H
-#define ZEND_INT_H
+#ifndef ZEND_LONG_H
+#define ZEND_LONG_H
-#ifndef ZEND_WIN32
-/* this probably needs more on non windows, like for C++ and C99*/
-# include <stdint.h>
-# include <inttypes.h>
-#endif
+#include "main/php_stdint.h"
/* This is the heart of the whole int64 enablement in zval. Based on this
- macros the zend_size_t datatype is handled, see zend_types.h */
+ macros the size_t datatype is handled, see zend_types.h */
#if defined(__X86_64__) || defined(__LP64__) || defined(_LP64) || defined(_WIN64)
# define ZEND_ENABLE_INT64 1
#endif
@@ -38,11 +34,11 @@
#ifdef ZEND_ENABLE_INT64
# ifdef ZEND_WIN32
# ifdef _WIN64
-typedef __int64 zend_int_t;
-typedef unsigned __int64 zend_uint_t;
+typedef __int64 zend_long;
+typedef unsigned __int64 zend_ulong;
typedef __int64 zend_off_t;
-# define ZEND_INT_MAX _I64_MAX
-# define ZEND_INT_MIN _I64_MIN
+# define ZEND_LONG_MAX _I64_MAX
+# define ZEND_LONG_MIN _I64_MIN
# define ZEND_UINT_MAX _UI64_MAX
# define Z_I(i) i##i64
# define Z_UI(i) i##Ui64
@@ -51,11 +47,11 @@ typedef __int64 zend_off_t;
# endif
# else
# if defined(__X86_64__) || defined(__LP64__) || defined(_LP64)
-typedef int64_t zend_int_t;
-typedef uint64_t zend_uint_t;
+typedef int64_t zend_long;
+typedef uint64_t zend_ulong;
typedef off_t zend_off_t;
-# define ZEND_INT_MAX INT64_MAX
-# define ZEND_INT_MIN INT64_MIN
+# define ZEND_LONG_MAX INT64_MAX
+# define ZEND_LONG_MIN INT64_MIN
# define ZEND_UINT_MAX UINT64_MAX
# define Z_I(i) i##LL
# define Z_UI(i) i##ULL
@@ -65,11 +61,11 @@ typedef off_t zend_off_t;
# endif
# define SIZEOF_ZEND_INT 8
#else
-typedef long zend_int_t;
-typedef unsigned long zend_uint_t;
+typedef long zend_long;
+typedef unsigned long zend_ulong;
typedef long zend_off_t;
-# define ZEND_INT_MAX LONG_MAX
-# define ZEND_INT_MIN LONG_MIN
+# define ZEND_LONG_MAX LONG_MAX
+# define ZEND_LONG_MIN LONG_MIN
# define ZEND_UINT_MAX ULONG_MAX
# define Z_I(i) i##L
# define Z_UI(i) i##UL
@@ -78,63 +74,63 @@ typedef long zend_off_t;
/* conversion macros */
-#define ZEND_ITOA_BUF_LEN 65
+#define ZEND_LTOA_BUF_LEN 65
#ifdef ZEND_ENABLE_INT64
# ifdef PHP_WIN32
-# define ZEND_ITOA(i, s, len) _i64toa_s((i), (s), (len), 10)
-# define ZEND_ATOI(i, s) i = _atoi64((s))
-# define ZEND_STRTOI(s0, s1, base) _strtoi64((s0), (s1), (base))
-# define ZEND_STRTOUI(s0, s1, base) _strtoui64((s0), (s1), (base))
-# define ZEND_INT_FMT "%I64d"
-# define ZEND_UINT_FMT "%I64u"
-# define ZEND_INT_FMT_SPEC "I64d"
-# define ZEND_UINT_FMT_SPEC "I64u"
-# define ZEND_STRTOI_PTR _strtoi64
-# define ZEND_STRTOUI_PTR _strtoui64
+# define ZEND_LTOA(i, s, len) _i64toa_s((i), (s), (len), 10)
+# define ZEND_ATOL(i, s) i = _atoi64((s))
+# define ZEND_STRTOL(s0, s1, base) _strtoi64((s0), (s1), (base))
+# define ZEND_STRTOUL(s0, s1, base) _strtoui64((s0), (s1), (base))
+# define ZEND_LONG_FMT "%I64d"
+# define ZEND_ULONG_FMT "%I64u"
+# define ZEND_LONG_FMT_SPEC "I64d"
+# define ZEND_ULONG_FMT_SPEC "I64u"
+# define ZEND_STRTOL_PTR _strtoi64
+# define ZEND_STRTOUL_PTR _strtoui64
# define ZEND_ABS _abs64
# else
-# define ZEND_ITOA(i, s, len) \
+# define ZEND_LTOA(i, s, len) \
do { \
int st = snprintf((s), (len), "%lld", (i)); \
(s)[st] = '\0'; \
} while (0)
-# define ZEND_ATOI(i, s) (i) = atoll((s))
-# define ZEND_STRTOI(s0, s1, base) strtoll((s0), (s1), (base))
-# define ZEND_STRTOUI(s0, s1, base) strtoull((s0), (s1), (base))
-# define ZEND_INT_FMT "%" PRId64
-# define ZEND_UINT_FMT "%" PRIu64
-# define ZEND_INT_FMT_SPEC PRId64
-# define ZEND_UINT_FMT_SPEC PRIu64
-# define ZEND_STRTOI_PTR strtoll
-# define ZEND_STRTOUI_PTR strtoull
+# define ZEND_ATOL(i, s) (i) = atoll((s))
+# define ZEND_STRTOL(s0, s1, base) strtoll((s0), (s1), (base))
+# define ZEND_STRTOUL(s0, s1, base) strtoull((s0), (s1), (base))
+# define ZEND_LONG_FMT "%" PRId64
+# define ZEND_ULONG_FMT "%" PRIu64
+# define ZEND_LONG_FMT_SPEC PRId64
+# define ZEND_ULONG_FMT_SPEC PRIu64
+# define ZEND_STRTOL_PTR strtoll
+# define ZEND_STRTOUL_PTR strtoull
# define ZEND_ABS llabs
# endif
#else
-# define ZEND_STRTOI(s0, s1, base) strtol((s0), (s1), (base))
-# define ZEND_STRTOUI(s0, s1, base) strtoul((s0), (s1), (base))
+# define ZEND_STRTOL(s0, s1, base) strtol((s0), (s1), (base))
+# define ZEND_STRTOUL(s0, s1, base) strtoul((s0), (s1), (base))
# ifdef PHP_WIN32
-# define ZEND_ITOA(i, s, len) _ltoa_s((i), (s), (len), 10)
-# define ZEND_ATOI(i, s) i = atol((s))
+# define ZEND_LTOA(i, s, len) _ltoa_s((i), (s), (len), 10)
+# define ZEND_ATOL(i, s) i = atol((s))
# else
-# define ZEND_ITOA(i, s, len) \
+# define ZEND_LTOA(i, s, len) \
do { \
int st = snprintf((s), (len), "%ld", (i)); \
(s)[st] = '\0'; \
} while (0)
-# define ZEND_ATOI(i, s) (i) = atol((s))
+# define ZEND_ATOL(i, s) (i) = atol((s))
# endif
-# define ZEND_INT_FMT "%ld"
-# define ZEND_UINT_FMT "%lu"
-# define ZEND_INT_FMT_SPEC "ld"
-# define ZEND_UINT_FMT_SPEC "lu"
-# define ZEND_STRTOI_PTR strtol
-# define ZEND_STRTOUI_PTR strtoul
+# define ZEND_LONG_FMT "%ld"
+# define ZEND_ULONG_FMT "%lu"
+# define ZEND_LONG_FMT_SPEC "ld"
+# define ZEND_ULONG_FMT_SPEC "lu"
+# define ZEND_STRTOL_PTR strtol
+# define ZEND_STRTOUL_PTR strtoul
# define ZEND_ABS abs
#endif
-#endif /* ZEND_INT_H */
+#endif /* ZEND_LONG_H */
/*
* Local variables: