stmt->default_fetch_type = PDO_FETCH_BOTH;
- if (argc == 0) {
- return SUCCESS;
- }
-
- args = safe_emalloc(ZEND_NUM_ARGS(), sizeof(zval), 0);
+ flags = mode & PDO_FETCH_FLAGS;
- retval = pdo_stmt_verify_mode(stmt, mode, 0);
- retval = zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args);
-
- if (SUCCESS == retval) {
- if (Z_TYPE(args[skip]) != IS_LONG) {
- pdo_raise_impl_error(stmt->dbh, stmt, "HY000", "mode must be an integer");
- retval = FAILURE;
- } else {
- mode = Z_LVAL(args[skip]);
- flags = mode & PDO_FETCH_FLAGS;
-
- /* pdo_stmt_verify_mode() returns a boolean value */
- retval = pdo_stmt_verify_mode(stmt, mode, 0) ? SUCCESS : FAILURE;
- }
- }
-
-- if (FAILURE == retval) {
++ if (!pdo_stmt_verify_mode(stmt, mode, 0)) {
PDO_STMT_CLEAR_ERR();
- efree(args);
return FAILURE;
}