iliaa Thu Nov 22 00:17:28 2007 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/pgsql pgsql.c
Log:
Fixed bug #43041 (micro-optimizations in pgsql data retrieval) Initial patch
by andy at petdance dot com
http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/pgsql.c?r1=1.331.2.13.2.24.2.4&r2=1.331.2.13.2.24.2.5&diff_format=u
Index: php-src/ext/pgsql/pgsql.c
diff -u php-src/ext/pgsql/pgsql.c:1.331.2.13.2.24.2.4
php-src/ext/pgsql/pgsql.c:1.331.2.13.2.24.2.5
--- php-src/ext/pgsql/pgsql.c:1.331.2.13.2.24.2.4 Tue Nov 13 20:05:47 2007
+++ php-src/ext/pgsql/pgsql.c Thu Nov 22 00:17:28 2007
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pgsql.c,v 1.331.2.13.2.24.2.4 2007/11/13 20:05:47 iliaa Exp $ */
+/* $Id: pgsql.c,v 1.331.2.13.2.24.2.5 2007/11/22 00:17:28 iliaa Exp $ */
#include <stdlib.h>
@@ -1996,8 +1996,7 @@
pgsql_result_handle *pg_result;
int i, num_fields, pgsql_row, use_row;
long row = -1;
- char *element, *field_name;
- uint element_len;
+ char *field_name;
zval *ctor_params = NULL;
zend_class_entry *ce = NULL;
@@ -2068,12 +2067,12 @@
add_assoc_null(return_value, field_name);
}
} else {
- element = PQgetvalue(pgsql_result, pgsql_row, i);
- element_len = (element ? strlen(element) : 0);
+ char *element = PQgetvalue(pgsql_result, pgsql_row, i);
if (element) {
char *data;
int data_len;
int should_copy=0;
+ const uint element_len = strlen(element);
if (PG(magic_quotes_runtime)) {
data = php_addslashes(element,
element_len, &data_len, 0 TSRMLS_CC);
@@ -5743,8 +5742,8 @@
PHP_PGSQL_API int php_pgsql_result2array(PGresult *pg_result, zval *ret_array
TSRMLS_DC)
{
zval *row;
- char *field_name, *element, *data;
- size_t num_fields, element_len, data_len;
+ char *field_name;
+ size_t num_fields;
int pg_numrows, pg_row;
uint i;
assert(Z_TYPE_P(ret_array) == IS_ARRAY);
@@ -5761,9 +5760,12 @@
field_name = PQfname(pg_result, i);
add_assoc_null(row, field_name);
} else {
- element = PQgetvalue(pg_result, pg_row, i);
- element_len = (element ? strlen(element) : 0);
+ char *element = PQgetvalue(pg_result, pg_row,
i);
if (element) {
+ char *data;
+ size_t data_len;
+ const size_t element_len =
strlen(element);
+
if (PG(magic_quotes_runtime)) {
data = php_addslashes(element,
element_len, &data_len, 0 TSRMLS_CC);
} else {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php