X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pqres.c;h=782589de85f9dae26427b16ebed55781d05972b0;hp=2b77dba500137583978108ce6e44a10867cfc303;hb=cd5d3cdafda1f9e9fe120c9eaf1269fdc577f04d;hpb=b7620687147565388f76031efc820e773232fa34 diff --git a/src/php_pqres.c b/src/php_pqres.c index 2b77dba..782589d 100644 --- a/src/php_pqres.c +++ b/src/php_pqres.c @@ -126,20 +126,20 @@ zval *php_pqres_row_to_zval(PGresult *res, unsigned row, php_pqres_fetch_t fetch break; } } else { - char *val = PQgetvalue(res, row, c); - int len = PQgetlength(res, row, c); + zval *zv = php_pq_typed_zval(PQgetvalue(res, row, c), PQgetlength(res, row, c), PQftype(res, c) TSRMLS_CC); switch (fetch_type) { case PHP_PQRES_FETCH_OBJECT: - add_property_stringl(data, PQfname(res, c), val, len, 1); + add_property_zval(data, PQfname(res, c), zv); + zval_ptr_dtor(&zv); break; case PHP_PQRES_FETCH_ASSOC: - add_assoc_stringl(data, PQfname(res, c), val, len, 1); + add_assoc_zval(data, PQfname(res, c), zv); break; case PHP_PQRES_FETCH_ARRAY: - add_index_stringl(data, c, val, len ,1); + add_index_zval(data, c, zv); break; } }