summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli_api.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2017-11-15 00:53:51 +0300
committerDmitry Stogov <dmitry@zend.com>2017-11-15 00:53:51 +0300
commit69462bdf4c9dcfef7056be5e075a7545724004b3 (patch)
tree5a5f5e9790e74887e724a19e5cfd5e87fbb6a97f /ext/mysqli/mysqli_api.c
parent492bc8ea576a8b088955becaedf6553e21f76393 (diff)
downloadphp-git-69462bdf4c9dcfef7056be5e075a7545724004b3.tar.gz
Embeded zend_list into st_mysqlnd_error_info, to avoid extra allocation/deallocation.
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r--ext/mysqli/mysqli_api.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 2c9915111d..67ae750e8b 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -1870,6 +1870,9 @@ PHP_FUNCTION(mysqli_prepare)
memcpy(sqlstate, mysql->mysql->net.sqlstate, SQLSTATE_LENGTH+1);
#else
MYSQLND_ERROR_INFO error_info = *mysql->mysql->data->error_info;
+ mysql->mysql->data->error_info->error_list.head = NULL;
+ mysql->mysql->data->error_info->error_list.tail = NULL;
+ mysql->mysql->data->error_info->error_list.count = 0;
#endif
mysqli_stmt_close(stmt->stmt, FALSE);
stmt->stmt = NULL;
@@ -1880,6 +1883,7 @@ PHP_FUNCTION(mysqli_prepare)
memcpy(mysql->mysql->net.last_error, last_error, MYSQL_ERRMSG_SIZE);
memcpy(mysql->mysql->net.sqlstate, sqlstate, SQLSTATE_LENGTH+1);
#else
+ zend_llist_clean(&mysql->mysql->data->error_info->error_list);
*mysql->mysql->data->error_info = error_info;
#endif
}