mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Drop zend_long64 in favor of int64_t
Also drop ZEND_HAVE_LONG64, because we already require the presence of a int64_t type.
This commit is contained in:
parent
9527877930
commit
2a9daf2e15
2 changed files with 5 additions and 19 deletions
|
@ -84,10 +84,10 @@
|
|||
} \
|
||||
} while (0)
|
||||
|
||||
#elif SIZEOF_ZEND_LONG == 4 && defined(HAVE_ZEND_LONG64)
|
||||
#elif SIZEOF_ZEND_LONG == 4
|
||||
|
||||
#define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \
|
||||
zend_long64 __result = (zend_long64) (a) * (zend_long64) (b); \
|
||||
int64_t __result = (int64_t) (a) * (int64_t) (b); \
|
||||
if (__result > ZEND_LONG_MAX || __result < ZEND_LONG_MIN) { \
|
||||
(dval) = (double) __result; \
|
||||
(usedval) = 1; \
|
||||
|
@ -206,13 +206,13 @@ static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, si
|
|||
return res;
|
||||
}
|
||||
|
||||
#elif SIZEOF_SIZE_T == 4 && defined(HAVE_ZEND_LONG64)
|
||||
#elif SIZEOF_SIZE_T == 4
|
||||
|
||||
static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, size_t offset, int *overflow)
|
||||
{
|
||||
zend_ulong64 res = (zend_ulong64)nmemb * (zend_ulong64)size + (zend_ulong64)offset;
|
||||
uint64_t res = (uint64_t) nmemb * (uint64_t) size + (uint64_t) offset;
|
||||
|
||||
if (UNEXPECTED(res > (zend_ulong64)0xFFFFFFFFL)) {
|
||||
if (UNEXPECTED(res > UINT64_C(0xFFFFFFFF))) {
|
||||
*overflow = 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -64,20 +64,6 @@ typedef enum {
|
|||
# endif
|
||||
#endif
|
||||
|
||||
#define HAVE_ZEND_LONG64
|
||||
#ifdef ZEND_WIN32
|
||||
typedef __int64 zend_long64;
|
||||
typedef unsigned __int64 zend_ulong64;
|
||||
#elif SIZEOF_LONG_LONG_INT == 8
|
||||
typedef long long int zend_long64;
|
||||
typedef unsigned long long int zend_ulong64;
|
||||
#elif SIZEOF_LONG_LONG == 8
|
||||
typedef long long zend_long64;
|
||||
typedef unsigned long long zend_ulong64;
|
||||
#else
|
||||
# undef HAVE_ZEND_LONG64
|
||||
#endif
|
||||
|
||||
/* XXX this won't work on X32 platform */
|
||||
#ifdef ZEND_ENABLE_ZVAL_LONG64
|
||||
typedef int64_t zend_intptr_t;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue