X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fphp_pq_misc.c;h=70f32da7bcbfac48dd70612c97e74a86ecf9b29b;hb=79c6c8eafd9f0fb76557f3297d979ba58ff42a59;hp=dee39d6913932c6466427a565ed6eba17f7c9438;hpb=80a38048f8355392d81e23f4b3a27a8e77d58214;p=m6w6%2Fext-pq diff --git a/src/php_pq_misc.c b/src/php_pq_misc.c index dee39d6..70f32da 100644 --- a/src/php_pq_misc.c +++ b/src/php_pq_misc.c @@ -103,11 +103,8 @@ const char *php_pq_strmode(long mode) } } -int php_pq_compare_index_80(Bucket *lptr, Bucket *rptr) +static inline int compare_index(zend_ulong l, zend_ulong r) { - zend_ulong l = lptr->h; - zend_ulong r = rptr->h; - if (l < r) { return -1; } @@ -116,9 +113,16 @@ int php_pq_compare_index_80(Bucket *lptr, Bucket *rptr) } return 0; } -int php_pq_compare_index_70(const void *lptr, const void *rptr) { - return php_pq_compare_index_80((Bucket *) lptr, (Bucket *) rptr); +#if PHP_VERSION_ID >= 80000 +int php_pq_compare_index(Bucket *lptr, Bucket *rptr) +{ + return compare_index(lptr->h, rptr->h); } +#else +int php_pq_compare_index(const void *lptr, const void *rptr) { + return compare_index(((const Bucket *) lptr)->h, ((const Bucket *) rptr)->h); +} +#endif void php_pq_hash_ptr_dtor(zval *p) { @@ -127,6 +131,13 @@ void php_pq_hash_ptr_dtor(zval *p) zend_class_entry *php_pqdt_class_entry; +#if PHP_VERSION_ID >= 80100 +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_pqdt_jsonserialize, 0, 0, IS_MIXED, 0) +ZEND_END_ARG_INFO() +#else +#define ai_pqdt_jsonserialize ai_pqdt_to_string +#endif + ZEND_BEGIN_ARG_INFO_EX(ai_pqdt_to_string, 0, 0, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(pqdt, __toString) @@ -138,7 +149,11 @@ static PHP_METHOD(pqdt, __toString) RETVAL_ZVAL(&rv, 1, 1); } +#if PHP_VERSION_ID >= 80100 +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(ai_pqdt_create_from_format, 0, 2, DateTime, MAY_BE_FALSE) +#else ZEND_BEGIN_ARG_INFO_EX(ai_pqdt_create_from_format, 0, 0, 2) +#endif ZEND_ARG_INFO(0, format) ZEND_ARG_INFO(0, datetime) #if PHP_VERSION_ID >= 70200 @@ -167,7 +182,7 @@ static PHP_METHOD(pqdt, createFromFormat) static zend_function_entry php_pqdt_methods[] = { PHP_ME(pqdt, createFromFormat, ai_pqdt_create_from_format, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_ME(pqdt, __toString, ai_pqdt_to_string, ZEND_ACC_PUBLIC) - PHP_MALIAS(pqdt, jsonSerialize, __toString, ai_pqdt_to_string, ZEND_ACC_PUBLIC) + PHP_MALIAS(pqdt, jsonSerialize, __toString, ai_pqdt_jsonserialize, ZEND_ACC_PUBLIC) {0} };