fix async queries not cleared prior some sync queries
[m6w6/ext-pq] / src / php_pq_misc.h
index 07bd5967a1c1c4ea28de2b77d4172f907be399eb..34ab6c1bf9c285f5a75c18883abb3cc07ca46787 100644 (file)
@@ -40,13 +40,6 @@ extern char *php_pq_rtrim(char *e);
 /* R, W, RW */
 extern const char *php_pq_strmode(long mode);
 
-/* compare array index */
-#if PHP_VERSION_ID >= 80000
-extern int php_pq_compare_index(Bucket *lptr, Bucket *rptr);
-#else
-extern int php_pq_compare_index(const void *lptr, const void *rptr);
-#endif
-
 /* free zval ptr values (as hash dtor) */
 extern void php_pq_hash_ptr_dtor(zval *p);
 
@@ -63,6 +56,8 @@ extern HashTable *php_pq_parse_array(php_pqres_t *res, const char *val_str, size
 
 /* ZE compat */
 #if PHP_VERSION_ID >= 80000
+extern int php_pq_compare_index(Bucket *lptr, Bucket *rptr);
+
 # define php_pq_call_method(objval_ptr, method_name, num_args, ...) \
                zend_call_method_with_ ## num_args ## _params( \
                                Z_OBJ_P(objval_ptr), Z_OBJCE_P(objval_ptr), NULL, \
@@ -77,6 +72,11 @@ extern HashTable *php_pq_parse_array(php_pqres_t *res, const char *val_str, size
                (Z_OBJ_HT_P(objval_ptr)->cast_object && \
                                SUCCESS == Z_OBJ_HT_P(objval_ptr)->cast_object(Z_OBJ_P(objval_ptr), (retval_ptr), (cast_type)))
 #else
+
+extern int php_pq_compare_index(const void *lptr, const void *rptr);
+
+# define zend_ce_countable spl_ce_Countable
+
 # define php_pq_call_method(objval_ptr, method_name, num_args, ...) \
                zend_call_method_with_ ## num_args ## _params( \
                                (objval_ptr), NULL, NULL, \
@@ -92,7 +92,12 @@ extern HashTable *php_pq_parse_array(php_pqres_t *res, const char *val_str, size
                                SUCCESS == Z_OBJ_HT_P(objval_ptr)->cast_object(objval_ptr, (retval_ptr), (cast_type)))
 #endif
 
-
+#if PHP_VERSION_ID < 80100
+# define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
+                ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
+# define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
+                ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
+#endif
 
 
 extern PHP_MINIT_FUNCTION(pq_misc);