X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fphp_pq_params.c;h=259fbb9a13b1c4b6e3c2d243e5106f39c1e9763d;hb=79c6c8eafd9f0fb76557f3297d979ba58ff42a59;hp=3c6b920c73d7dbb65ed4d06a907be75553fae2b2;hpb=950b257a9376d4f83fd24a7afadeafaf31f8855a;p=m6w6%2Fext-pq diff --git a/src/php_pq_params.c b/src/php_pq_params.c index 3c6b920..259fbb9 100644 --- a/src/php_pq_params.c +++ b/src/php_pq_params.c @@ -81,13 +81,13 @@ static zend_string *object_param_to_string(php_pq_params_t *p, zval *zobj, Oid t switch (type) { #if PHP_PQ_HAVE_PHP_JSON_H && defined(PHP_PQ_OID_JSON) -# ifdef PHP_PQ_OID_JSONB +# ifdef PHP_PQ_OID_JSONB case PHP_PQ_OID_JSONB: -# endif +# endif case PHP_PQ_OID_JSON: -# if PHP_VERSION_ID >= 70100 +# if PHP_VERSION_ID >= 70100 JSON_G(encode_max_depth) = PHP_JSON_PARSER_DEFAULT_DEPTH; -# endif +# endif php_json_encode(&str, zobj, PHP_JSON_UNESCAPED_UNICODE); smart_str_0(&str); return str.s; @@ -95,10 +95,10 @@ static zend_string *object_param_to_string(php_pq_params_t *p, zval *zobj, Oid t case PHP_PQ_OID_DATE: return php_pqdt_to_string(zobj, "Y-m-d"); - +#ifdef PHP_PQ_OID_ABSTIME case PHP_PQ_OID_ABSTIME: return php_pqdt_to_string(zobj, "Y-m-d H:i:s"); - +#endif case PHP_PQ_OID_TIMESTAMP: return php_pqdt_to_string(zobj, "Y-m-d H:i:s.u"); @@ -133,7 +133,7 @@ static int apply_to_param_from_array(zval *zparam, void *arg_ptr) zval ztype, rv; ZVAL_LONG(&ztype, arg->type); - zend_call_method_with_2_params(arg->zconv, NULL, NULL, "converttostring", &rv, zparam, &ztype); + php_pq_call_method(arg->zconv, "converttostring", 2, &rv, zparam, &ztype); tmpstr = zval_get_string(&rv); zval_ptr_dtor(&rv); goto append_string; @@ -208,9 +208,9 @@ static zend_string *array_param_to_string(php_pq_params_t *p, zval *zarr, Oid ty switch (type) { #if PHP_PQ_HAVE_PHP_JSON_H && defined(PHP_PQ_OID_JSON) -# ifdef PHP_PQ_OID_JSONB +# ifdef PHP_PQ_OID_JSONB case PHP_PQ_OID_JSONB: -# endif +# endif case PHP_PQ_OID_JSON: php_json_encode(&s, zarr, PHP_JSON_UNESCAPED_UNICODE); break; @@ -243,7 +243,7 @@ static void php_pq_params_set_param(php_pq_params_t *p, unsigned index, zval *zp ZVAL_NULL(&rv); ZVAL_LONG(&ztype, type); - zend_call_method_with_2_params(zconv, NULL, NULL, "converttostring", &rv, zpp, &ztype); + php_pq_call_method(zconv, "converttostring", 2, &rv, zpp, &ztype); convert_to_string(&rv); p->param.strings[index] = Z_STRVAL_P(&rv); zend_hash_next_index_insert(&p->param.dtor, &rv); @@ -307,7 +307,8 @@ static int apply_to_params(zval *zp, void *arg_ptr) { struct apply_to_params_arg *arg = arg_ptr; - SEPARATE_ZVAL_IF_NOT_REF(zp); + ZVAL_DEREF(zp); + SEPARATE_ZVAL(zp); php_pq_params_set_param(arg->params, arg->index++, zp); return ZEND_HASH_APPLY_KEEP; }