diff -Naurp php-5.3.2.orig/ext/mysqli/mysqli_api.c php-5.3.2/ext/mysqli/mysqli_api.c --- php-5.3.2.orig/ext/mysqli/mysqli_api.c 2010-02-04 15:28:55.000000000 -0500 +++ php-5.3.2/ext/mysqli/mysqli_api.c 2010-04-26 08:20:20.735030470 -0400 @@ -1665,13 +1665,13 @@ PHP_FUNCTION(mysqli_options) { MY_MYSQL *mysql; zval *mysql_link = NULL; - zval *mysql_value; + zval **mysql_value; long mysql_option; unsigned int l_value; long ret; int expected_type; - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Olz", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == FAILURE) { + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OlZ", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_INITIALIZED); @@ -1682,13 +1682,13 @@ PHP_FUNCTION(mysqli_options) } } expected_type = mysqli_options_get_option_zval_type(mysql_option); - if (expected_type != Z_TYPE_P(mysql_value)) { + if (expected_type != Z_TYPE_PP(mysql_value)) { switch (expected_type) { case IS_STRING: - convert_to_string_ex(&mysql_value); + convert_to_string_ex(mysql_value); break; case IS_LONG: - convert_to_long_ex(&mysql_value); + convert_to_long_ex(mysql_value); break; default: break; @@ -1696,10 +1696,10 @@ PHP_FUNCTION(mysqli_options) } switch (expected_type) { case IS_STRING: - ret = mysql_options(mysql->mysql, mysql_option, Z_STRVAL_PP(&mysql_value)); + ret = mysql_options(mysql->mysql, mysql_option, Z_STRVAL_PP(mysql_value)); break; case IS_LONG: - l_value = Z_LVAL_PP(&mysql_value); + l_value = Z_LVAL_PP(mysql_value); ret = mysql_options(mysql->mysql, mysql_option, (char *)&l_value); break; default: