abies Fri May 7 11:17:12 2004 EDT Modified files: (Branch: PHP_4_3) /php-src/ext/interbase interbase.c Log: MFH: fixed unregistered pointer juggling bug http://cvs.php.net/diff.php/php-src/ext/interbase/interbase.c?r1=1.91.2.31&r2=1.91.2.32&ty=u Index: php-src/ext/interbase/interbase.c diff -u php-src/ext/interbase/interbase.c:1.91.2.31 php-src/ext/interbase/interbase.c:1.91.2.32 --- php-src/ext/interbase/interbase.c:1.91.2.31 Tue Feb 17 15:57:26 2004 +++ php-src/ext/interbase/interbase.c Fri May 7 11:17:12 2004 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interbase.c,v 1.91.2.31 2004/02/17 20:57:26 abies Exp $ */ +/* $Id: interbase.c,v 1.91.2.32 2004/05/07 15:17:12 abies Exp $ */ /* TODO: Arrays, roles? @@ -643,7 +643,7 @@ php_info_print_table_start(); php_info_print_table_row(2, "Interbase Support", "enabled"); - php_info_print_table_row(2, "Revision", "$Revision: 1.91.2.31 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.91.2.32 $"); #ifdef COMPILE_DL_INTERBASE php_info_print_table_row(2, "Dynamic Module", "yes"); #endif @@ -1201,7 +1201,7 @@ /* {{{ _php_ibase_bind() Bind parameter placeholders in a previously prepared query */ -static int _php_ibase_bind(XSQLDA *sqlda, zval **b_vars, BIND_BUF *buf, ibase_query *ib_query TSRMLS_DC) +static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, ibase_query *ib_query TSRMLS_DC) { int i , rv = SUCCESS; @@ -1209,7 +1209,7 @@ for (i = 0; i < sqlda->sqld; ++var, ++i) { /* bound vars */ - zval *b_var = b_vars[i]; + zval *b_var = *b_vars[i]; var->sqlind = &buf[i].sqlind; @@ -1425,17 +1425,17 @@ /* }}} */ /* {{{ _php_ibase_exec() */ -static int _php_ibase_exec(ibase_result **ib_resultp, ibase_query *ib_query, int argc, zval **args TSRMLS_DC) +static int _php_ibase_exec(ibase_result **ib_resultp, ibase_query *ib_query, int argc, zval ***args TSRMLS_DC) { #define IB_RESULT (*ib_resultp) XSQLDA *in_sqlda = NULL, *out_sqlda = NULL; BIND_BUF *bind_buf = NULL; - int rv = FAILURE; + int i, rv = FAILURE; IB_RESULT = NULL; - if (argc > 0 && args != NULL) { - SEPARATE_ZVAL(args); + for (i = 0; i < argc; ++i) { + SEPARATE_ZVAL(args[i]); } /* allocate sqlda and output buffers */ @@ -1699,7 +1699,7 @@ Execute a query */ PHP_FUNCTION(ibase_query) { - zval ***args, **bind_args = NULL, **dummy = NULL; + zval ***args, ***bind_args = NULL, **dummy = NULL; int i, link_id = 0, trans_n = 0, bind_n = 0, trans_id = 0; char *query; ibase_db_link *ib_link; @@ -1742,7 +1742,7 @@ absolutely no sense if not using a prepared SQL statement. */ bind_n = ZEND_NUM_ARGS() - i; - bind_args = args[i]; + bind_args = &args[i]; } /* open default transaction */ @@ -2323,7 +2323,7 @@ Execute a previously prepared query */ PHP_FUNCTION(ibase_execute) { - zval ***args, **bind_args = NULL; + zval ***args, ***bind_args = NULL; ibase_query *ib_query; ibase_result *ib_result; @@ -2342,7 +2342,7 @@ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, args[0], -1, "InterBase query", le_query); if (ZEND_NUM_ARGS() > 1) { /* have variables to bind */ - bind_args = args[1]; + bind_args = &args[1]; } /* Have we used this cursor before and it's still open? */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php