]> granicus.if.org Git - php/commitdiff
Add the Z_PARAM_PATH_OR_NULL() and Z_PARAM_ZVAL_OR_NULL() macros
authorMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 24 Jul 2020 08:06:45 +0000 (10:06 +0200)
committerMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 24 Jul 2020 08:37:35 +0000 (10:37 +0200)
Zend/zend_API.h
ext/pdo/pdo_stmt.c

index b9eecd3e2654ef8f9e258f4f170d27b19d9806ba..6cfd903dc81e8de1019466ffa08c5b66842f7e01 100644 (file)
@@ -1601,6 +1601,9 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_argument_value_error(uint32_t arg_num
 #define Z_PARAM_PATH(dest, dest_len) \
        Z_PARAM_PATH_EX(dest, dest_len, 0, 0)
 
+#define Z_PARAM_PATH_OR_NULL(dest, dest_len) \
+       Z_PARAM_PATH_EX(dest, dest_len, 1, 0)
+
 /* old "P" */
 #define Z_PARAM_PATH_STR_EX2(dest, check_null, deref, separate) \
                Z_PARAM_PROLOGUE(deref, separate); \
@@ -1681,6 +1684,9 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_argument_value_error(uint32_t arg_num
 #define Z_PARAM_ZVAL(dest) \
        Z_PARAM_ZVAL_EX(dest, 0, 0)
 
+#define Z_PARAM_ZVAL_OR_NULL(dest) \
+       Z_PARAM_ZVAL_EX(dest, 1, 0)
+
 /* old "+" and "*" */
 #define Z_PARAM_VARIADIC_EX(spec, dest, dest_num, post_varargs) do { \
                uint32_t _num_varargs = _num_args - _i - (post_varargs); \
index 74256671b255e6e6f5f5a08d7095e39de584da63..6bb7ca73227255f2bb7bcfffa7098eb4f83d80d5 100644 (file)
@@ -1595,7 +1595,7 @@ PHP_METHOD(PDOStatement, setAttribute)
 
        ZEND_PARSE_PARAMETERS_START(2, 2)
                Z_PARAM_LONG(attr)
-               Z_PARAM_ZVAL_EX(value, 1, 0)
+               Z_PARAM_ZVAL_OR_NULL(value)
        ZEND_PARSE_PARAMETERS_END();
 
        PHP_STMT_GET_OBJ;