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, ':');
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;
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;
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;
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");
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;
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;
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();
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();
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();
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();
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;
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;
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)) {
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;