tony2001 Thu Jan 25 09:31:23 2007 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/oci8 oci8_statement.c
Log:
PHP4 compatibility
http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/oci8_statement.c?r1=1.7.2.14.2.20&r2=1.7.2.14.2.21&diff_format=u
Index: php-src/ext/oci8/oci8_statement.c
diff -u php-src/ext/oci8/oci8_statement.c:1.7.2.14.2.20
php-src/ext/oci8/oci8_statement.c:1.7.2.14.2.21
--- php-src/ext/oci8/oci8_statement.c:1.7.2.14.2.20 Thu Jan 11 12:01:08 2007
+++ php-src/ext/oci8/oci8_statement.c Thu Jan 25 09:31:23 2007
@@ -25,7 +25,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: oci8_statement.c,v 1.7.2.14.2.20 2007/01/11 12:01:08 tony2001 Exp $ */
+/* $Id: oci8_statement.c,v 1.7.2.14.2.21 2007/01/25 09:31:23 tony2001 Exp $ */
#ifdef HAVE_CONFIG_H
@@ -1121,11 +1121,11 @@
Helper function to get column by name and index */
php_oci_out_column
*php_oci_statement_get_column_helper(INTERNAL_FUNCTION_PARAMETERS, int
need_data)
{
- zval *z_statement, **column_index;
+ zval *z_statement, *column_index;
php_oci_statement *statement;
php_oci_out_column *column;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rZ",
&z_statement, &column_index) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz",
&z_statement, &column_index) == FAILURE) {
return NULL;
}
@@ -1139,19 +1139,25 @@
return NULL;
}
- if (Z_TYPE_PP(column_index) == IS_STRING) {
- column = php_oci_statement_get_column(statement, -1,
Z_STRVAL_PP(column_index), Z_STRLEN_PP(column_index) TSRMLS_CC);
+ if (Z_TYPE_P(column_index) == IS_STRING) {
+ column = php_oci_statement_get_column(statement, -1,
Z_STRVAL_P(column_index), Z_STRLEN_P(column_index) TSRMLS_CC);
if (!column) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid
column name \"%s\"", Z_STRVAL_PP(column_index));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid
column name \"%s\"", Z_STRVAL_P(column_index));
return NULL;
}
} else {
- convert_to_long_ex(column_index);
- column = php_oci_statement_get_column(statement,
Z_LVAL_PP(column_index), NULL, 0 TSRMLS_CC);
+ zval tmp;
+ /* NB: for PHP4 compat only, it should be using 'Z' instead */
+ tmp = *column_index;
+ zval_copy_ctor(&tmp);
+ convert_to_long(&tmp);
+ column = php_oci_statement_get_column(statement, Z_LVAL(tmp),
NULL, 0 TSRMLS_CC);
if (!column) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid
column index \"%ld\"", Z_LVAL_PP(column_index));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid
column index \"%ld\"", Z_LVAL(tmp));
+ zval_dtor(&tmp);
return NULL;
}
+ zval_dtor(&tmp);
}
return column;
} /* }}} */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php