mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Move from directly referencing an aggregated structure to using a
pointer to a structure. The structure is still aggregated but we add a level of indirection for possible plugins to overwrite the storage
This commit is contained in:
parent
5e8bcbb08a
commit
845d8fa10c
26 changed files with 430 additions and 406 deletions
|
@ -12,9 +12,9 @@
|
|||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Authors: Georg Richter <georg@mysql.com> |
|
||||
| Andrey Hristov <andrey@mysql.com> |
|
||||
| Authors: Andrey Hristov <andrey@mysql.com> |
|
||||
| Ulf Wendel <uwendel@mysql.com> |
|
||||
| Georg Richter <georg@mysql.com> |
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
|
@ -608,7 +608,7 @@ mysqlnd_stmt_execute_store_params(MYSQLND_STMT * s, zend_uchar **buf, zend_uchar
|
|||
*buf_len = offset + null_count + 20;
|
||||
tmp_buf = mnd_emalloc(*buf_len);
|
||||
if (!tmp_buf) {
|
||||
SET_OOM_ERROR(stmt->error_info);
|
||||
SET_OOM_ERROR(*stmt->error_info);
|
||||
goto end;
|
||||
}
|
||||
memcpy(tmp_buf, *buf, offset);
|
||||
|
@ -642,7 +642,7 @@ mysqlnd_stmt_execute_store_params(MYSQLND_STMT * s, zend_uchar **buf, zend_uchar
|
|||
if (Z_TYPE_P(stmt->param_bind[i].zv) != IS_LONG &&
|
||||
PASS != mysqlnd_stmt_copy_it(&copies, stmt->param_bind[i].zv, stmt->param_count, i TSRMLS_CC))
|
||||
{
|
||||
SET_OOM_ERROR(stmt->error_info);
|
||||
SET_OOM_ERROR(*stmt->error_info);
|
||||
goto end;
|
||||
}
|
||||
/*
|
||||
|
@ -670,7 +670,7 @@ mysqlnd_stmt_execute_store_params(MYSQLND_STMT * s, zend_uchar **buf, zend_uchar
|
|||
*buf_len = offset + stmt->param_count * 2 + 20;
|
||||
tmp_buf = mnd_emalloc(*buf_len);
|
||||
if (!tmp_buf) {
|
||||
SET_OOM_ERROR(stmt->error_info);
|
||||
SET_OOM_ERROR(*stmt->error_info);
|
||||
goto end;
|
||||
}
|
||||
memcpy(tmp_buf, *buf, offset);
|
||||
|
@ -733,7 +733,7 @@ mysqlnd_stmt_execute_store_params(MYSQLND_STMT * s, zend_uchar **buf, zend_uchar
|
|||
/* Double binding of the same zval, make a copy */
|
||||
if (!copies || !copies[i]) {
|
||||
if (PASS != mysqlnd_stmt_copy_it(&copies, the_var, stmt->param_count, i TSRMLS_CC)) {
|
||||
SET_OOM_ERROR(stmt->error_info);
|
||||
SET_OOM_ERROR(*stmt->error_info);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
@ -747,7 +747,7 @@ mysqlnd_stmt_execute_store_params(MYSQLND_STMT * s, zend_uchar **buf, zend_uchar
|
|||
if (Z_TYPE_P(the_var) != IS_DOUBLE) {
|
||||
if (!copies || !copies[i]) {
|
||||
if (PASS != mysqlnd_stmt_copy_it(&copies, the_var, stmt->param_count, i TSRMLS_CC)) {
|
||||
SET_OOM_ERROR(stmt->error_info);
|
||||
SET_OOM_ERROR(*stmt->error_info);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
@ -794,7 +794,7 @@ use_string:
|
|||
{
|
||||
if (!copies || !copies[i]) {
|
||||
if (PASS != mysqlnd_stmt_copy_it(&copies, the_var, stmt->param_count, i TSRMLS_CC)) {
|
||||
SET_OOM_ERROR(stmt->error_info);
|
||||
SET_OOM_ERROR(*stmt->error_info);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
@ -819,7 +819,7 @@ use_string:
|
|||
*buf_len = offset + data_size + 10; /* Allocate + 10 for safety */
|
||||
tmp_buf = mnd_emalloc(*buf_len);
|
||||
if (!tmp_buf) {
|
||||
SET_OOM_ERROR(stmt->error_info);
|
||||
SET_OOM_ERROR(*stmt->error_info);
|
||||
goto end;
|
||||
}
|
||||
memcpy(tmp_buf, *buf, offset);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue