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