projects
/
m6w6
/
ext-pq
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
test
[m6w6/ext-pq]
/
src
/
php_pqres.c
diff --git
a/src/php_pqres.c
b/src/php_pqres.c
index 2b77dba500137583978108ce6e44a10867cfc303..782589de85f9dae26427b16ebed55781d05972b0 100644
(file)
--- 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 {
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:
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:
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:
break;
case PHP_PQRES_FETCH_ARRAY:
- add_index_
stringl(data, c, val, len ,1
);
+ add_index_
zval(data, c, zv
);
break;
}
}
break;
}
}