X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pqtypes.c;fp=src%2Fphp_pqtypes.c;h=b1f36cf27e5fb2aa4b6bb2b62c81e7455f26981a;hp=01e4e321b3604fec460a914bdc713511632beab0;hb=6db32a98b72c6ecadfb94dacbb1b04894e9065ec;hpb=d3e3e97737cda9dafbb17c9076251c09a92bdf78 diff --git a/src/php_pqtypes.c b/src/php_pqtypes.c index 01e4e32..b1f36cf 100644 --- a/src/php_pqtypes.c +++ b/src/php_pqtypes.c @@ -69,7 +69,7 @@ static void php_pqtypes_object_gc_connection(void *o, zval *return_value) add_next_index_zval(return_value, &zconn); } -static int has_dimension(HashTable *ht, zval *member, zend_string **key, zend_long *index) +static inline int has_dimension(HashTable *ht, zval *member, zend_string **key, zend_long *index) { if (Z_TYPE_P(member) == IS_LONG) { *index = Z_LVAL_P(member); @@ -94,12 +94,7 @@ static int has_dimension(HashTable *ht, zval *member, zend_string **key, zend_lo } } -#if PHP_VERSION_ID >= 80000 -# define php_pqtypes_object_has_dimension php_pqtypes_object_has_dimension_80 -#else -# define php_pqtypes_object_has_dimension php_pqtypes_object_has_dimension_70 -#endif -static int php_pqtypes_object_has_dimension_80(zend_object *object, zval *member, int check_empty) +static inline int php_pqtypes_object_has_dimension_ex(zend_object *object, zval *member, int check_empty) { php_pqtypes_object_t *obj = PHP_PQ_OBJ(NULL, object); zend_string *key = NULL; @@ -128,17 +123,19 @@ static int php_pqtypes_object_has_dimension_80(zend_object *object, zval *member return 0; } -static int php_pqtypes_object_has_dimension_70(zval *object, zval *member, int check_empty) +#if PHP_VERSION_ID >= 80000 +static int php_pqtypes_object_has_dimension(zend_object *object, zval *member, int check_empty) { - return php_pqtypes_object_has_dimension_80(Z_OBJ_P(object), member, check_empty); + return php_pqtypes_object_has_dimension_ex(object, member, check_empty); } - -#if PHP_VERSION_ID >= 80000 -# define php_pqtypes_object_read_dimension php_pqtypes_object_read_dimension_80 #else -# define php_pqtypes_object_read_dimension php_pqtypes_object_read_dimension_70 +static int php_pqtypes_object_has_dimension(zval *object, zval *member, int check_empty) +{ + return php_pqtypes_object_has_dimension_ex(Z_OBJ_P(object), member, check_empty); +} #endif -static zval *php_pqtypes_object_read_dimension_80(zend_object *object, zval *member, int type, zval *rv) + +static inline zval *php_pqtypes_object_read_dimension_ex(zend_object *object, zval *member, int type, zval *rv) { php_pqtypes_object_t *obj = PHP_PQ_OBJ(NULL, object); zend_string *key = NULL; @@ -156,38 +153,41 @@ static zval *php_pqtypes_object_read_dimension_80(zend_object *object, zval *mem return data; } -static zval *php_pqtypes_object_read_dimension_70(zval *object, zval *member, int type, zval *rv) +#if PHP_VERSION_ID >= 80000 +static zval *php_pqtypes_object_read_dimension(zend_object *object, zval *member, int type, zval *rv) { - return php_pqtypes_object_read_dimension_80(Z_OBJ_P(object), member, type, rv); + return php_pqtypes_object_read_dimension_ex(object, member, type, rv); } - -#if PHP_VERSION_ID >= 80000 -# define php_pqtypes_object_write_dimension php_pqtypes_object_write_dimension_80 #else -# define php_pqtypes_object_write_dimension php_pqtypes_object_write_dimension_70 +static zval *php_pqtypes_object_read_dimension(zval *object, zval *member, int type, zval *rv) +{ + return php_pqtypes_object_read_dimension_ex(Z_OBJ_P(object), member, type, rv); +} #endif -static void php_pqtypes_object_write_dimension_80(zend_object *object, zval *offset, zval *value) + +#if PHP_VERSION_ID >= 80000 +static void php_pqtypes_object_write_dimension(zend_object *object, zval *offset, zval *value) { throw_exce(EX_RUNTIME, "pq\\Types object must not be modified"); } -static void php_pqtypes_object_write_dimension_70(zval *object, zval *offset, zval *value) +#else +static void php_pqtypes_object_write_dimension(zval *object, zval *offset, zval *value) { throw_exce(EX_RUNTIME, "pq\\Types object must not be modified"); } +#endif #if PHP_VERSION_ID >= 80000 -# define php_pqtypes_object_unset_dimension php_pqtypes_object_unset_dimension_80 -#else -# define php_pqtypes_object_unset_dimension php_pqtypes_object_unset_dimension_70 -#endif -static void php_pqtypes_object_unset_dimension_80(zend_object *object, zval *offset) +static void php_pqtypes_object_unset_dimension(zend_object *object, zval *offset) { throw_exce(EX_RUNTIME, "pq\\Types object must not be modified"); } -static void php_pqtypes_object_unset_dimension_70(zval *object, zval *offset) +#else +static void php_pqtypes_object_unset_dimension(zval *object, zval *offset) { throw_exce(EX_RUNTIME, "pq\\Types object must not be modified"); } +#endif ZEND_BEGIN_ARG_INFO_EX(ai_pqtypes_construct, 0, 0, 1) ZEND_ARG_OBJ_INFO(0, connection, pq\\Connection, 0)