com php-src: Use new param API in PDO: ext/pdo/pdo_dbh.c ext/pdo/pdo_stmt.c
| From: | Sara Golemon | Date: | Sat, 31 Dec 2016 17:01:15 +0000 |
| Subject: | com php-src: Use new param API in PDO: ext/pdo/pdo_dbh.c ext/pdo/pdo_stmt.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-96468@lists.php.net to get a copy of this message | ||
Commit: bf422c56ab88a81695d8913b1d2f58d62f40986a
Author: Sara Golemon <pollita@php.net> Sat, 31 Dec 2016 08:45:54 -0800
Parents: a470a8c0a05a394afd6c2432fc9231ea9406b78a
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=bf422c56ab88a81695d8913b1d2f58d62f40986a
Log:
Use new param API in PDO
Changed paths:
M ext/pdo/pdo_dbh.c
M ext/pdo/pdo_stmt.c
Diff:
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c
index 4411c68..f28a341 100644
--- a/ext/pdo/pdo_dbh.c
+++ b/ext/pdo/pdo_dbh.c
@@ -210,11 +210,13 @@ static PHP_METHOD(PDO, dbh_constructor)
int call_factory = 1;
zend_error_handling zeh;
- if (FAILURE == zend_parse_parameters_throw(ZEND_NUM_ARGS(),
- "s|s!s!a!", &data_source, &data_source_len,
- &username, &usernamelen, &password, &passwordlen, &options)) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START_EX(ZEND_PARSE_PARAMS_THROW, 1, 4)
+ Z_PARAM_STRING(data_source, data_source_len)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_STRING_EX(username, usernamelen, 1, 0)
+ Z_PARAM_STRING_EX(password, passwordlen, 1, 0)
+ Z_PARAM_ARRAY_EX(options, 1, 0)
+ ZEND_PARSE_PARAMETERS_END();
/* parse the data source name */
colon = strchr(data_source, ':');
@@ -474,10 +476,11 @@ static PHP_METHOD(PDO, prepare)
pdo_dbh_object_t *dbh_obj = Z_PDO_OBJECT_P(getThis());
pdo_dbh_t *dbh = dbh_obj->inner;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "s|a", &statement,
- &statement_len, &options)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 2)
+ Z_PARAM_STRING(statement, statement_len)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_ARRAY(options)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_DBH_CLEAR_ERR();
PDO_CONSTRUCT_CHECK;
@@ -827,9 +830,10 @@ static PHP_METHOD(PDO, setAttribute)
zend_long attr;
zval *value;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "lz", &attr, &value)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 2)
+ Z_PARAM_LONG(attr)
+ Z_PARAM_ZVAL_DEREF(value)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_DBH_CLEAR_ERR();
PDO_CONSTRUCT_CHECK;
@@ -848,9 +852,9 @@ static PHP_METHOD(PDO, getAttribute)
pdo_dbh_t *dbh = Z_PDO_DBH_P(getThis());
zend_long attr;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "l", &attr)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_LONG(attr)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_DBH_CLEAR_ERR();
PDO_CONSTRUCT_CHECK;
@@ -915,9 +919,9 @@ static PHP_METHOD(PDO, exec)
size_t statement_len;
zend_long ret;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "s", &statement,
&statement_len)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_STRING(statement, statement_len)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
if (!statement_len) {
pdo_raise_impl_error(dbh, NULL, "HY000", "trying to execute an empty
query");
@@ -943,9 +947,10 @@ static PHP_METHOD(PDO, lastInsertId)
char *name = NULL;
size_t namelen;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "|s!", &name, &namelen)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 1)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_STRING_EX(name, namelen, 1, 0)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_DBH_CLEAR_ERR();
PDO_CONSTRUCT_CHECK;
@@ -1136,9 +1141,11 @@ static PHP_METHOD(PDO, quote)
char *qstr;
size_t qlen;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "s|l", &str, &str_len,
¶mtype)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 2)
+ Z_PARAM_STRING(str, str_len)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(paramtype)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_DBH_CLEAR_ERR();
PDO_CONSTRUCT_CHECK;
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c
index e68ab95..91451ed 100644
--- a/ext/pdo/pdo_stmt.c
+++ b/ext/pdo/pdo_stmt.c
@@ -432,9 +432,10 @@ static PHP_METHOD(PDOStatement, execute)
int ret = 1;
PHP_STMT_GET_OBJ;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "|a!", &input_params)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 1)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_ARRAY_EX(input_params, 1, 0)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_STMT_CLEAR_ERR();
@@ -1261,10 +1262,12 @@ static PHP_METHOD(PDOStatement, fetch)
zend_long off = 0;
PHP_STMT_GET_OBJ;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "|lll", &how,
- &ori, &off)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 3)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(how)
+ Z_PARAM_LONG(ori)
+ Z_PARAM_LONG(off)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_STMT_CLEAR_ERR();
@@ -1293,9 +1296,11 @@ static PHP_METHOD(PDOStatement, fetchObject)
PHP_STMT_GET_OBJ;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "|S!a", &class_name,
&ctor_args)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 2)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_STR_EX(class_name, 1, 0)
+ Z_PARAM_ARRAY(ctor_args)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_STMT_CLEAR_ERR();
@@ -1351,9 +1356,10 @@ static PHP_METHOD(PDOStatement, fetchColumn)
zend_long col_n = 0;
PHP_STMT_GET_OBJ;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &col_n)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 1)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(col_n)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
PDO_STMT_CLEAR_ERR();
@@ -1378,9 +1384,12 @@ static PHP_METHOD(PDOStatement, fetchAll)
int error = 0, flags, old_arg_count;
PHP_STMT_GET_OBJ;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "|lzz", &how, &arg2,
&ctor_args)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 3)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(how)
+ Z_PARAM_ZVAL_DEREF(arg2)
+ Z_PARAM_ZVAL_DEREF(ctor_args)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
if (!pdo_stmt_verify_mode(stmt, how, 1)) {
RETURN_FALSE;
@@ -1698,9 +1707,10 @@ static PHP_METHOD(PDOStatement, setAttribute)
zval *value = NULL;
PHP_STMT_GET_OBJ;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "lz!", &attr, &value)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 2)
+ Z_PARAM_LONG(attr)
+ Z_PARAM_ZVAL_DEREF_EX(value, 1, 0)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
if (!stmt->methods->set_attribute) {
goto fail;
@@ -1739,9 +1749,9 @@ static PHP_METHOD(PDOStatement, getAttribute)
zend_long attr;
PHP_STMT_GET_OBJ;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "l", &attr)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_LONG(attr)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
if (!stmt->methods->get_attribute) {
if (!generic_stmt_attr_get(stmt, return_value, attr)) {
@@ -1793,9 +1803,10 @@ static PHP_METHOD(PDOStatement, getColumnMeta)
struct pdo_column_data *col;
PHP_STMT_GET_OBJ;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "l", &colno)) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_LONG(colno)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
+
if(colno < 0) {
pdo_raise_impl_error(stmt->dbh, stmt, "42P10", "column number must be
non-negative");
RETURN_FALSE;