diff options
author | George Peter Banyard <girgias@php.net> | 2020-12-23 14:15:56 +0100 |
---|---|---|
committer | George Peter Banyard <girgias@php.net> | 2021-01-06 10:20:59 +0000 |
commit | 43f69160cfac8e33969e059eeab756a223be4480 (patch) | |
tree | cfefbb5e91f4632023658f5d9721e962c83175de | |
parent | d04adf60bee30a167845644c3d480583ca755420 (diff) | |
download | php-git-43f69160cfac8e33969e059eeab756a223be4480.tar.gz |
Boolify PDO's set_attribute driver function
-rw-r--r-- | ext/pdo/php_pdo_driver.h | 5 | ||||
-rw-r--r-- | ext/pdo_dblib/dblib_driver.c | 14 | ||||
-rw-r--r-- | ext/pdo_firebird/firebird_driver.c | 22 | ||||
-rw-r--r-- | ext/pdo_mysql/mysql_driver.c | 18 | ||||
-rw-r--r-- | ext/pdo_oci/oci_driver.c | 48 | ||||
-rw-r--r-- | ext/pdo_odbc/odbc_driver.c | 6 | ||||
-rw-r--r-- | ext/pdo_pgsql/pgsql_driver.c | 8 | ||||
-rw-r--r-- | ext/pdo_sqlite/sqlite_driver.c | 8 |
8 files changed, 65 insertions, 64 deletions
diff --git a/ext/pdo/php_pdo_driver.h b/ext/pdo/php_pdo_driver.h index 33d8cbef6d..7db096bbef 100644 --- a/ext/pdo/php_pdo_driver.h +++ b/ext/pdo/php_pdo_driver.h @@ -241,8 +241,9 @@ typedef int (*pdo_dbh_quote_func)(pdo_dbh_t *dbh, const char *unquoted, size_t u * Return true if currently inside a transaction, false otherwise. */ typedef bool (*pdo_dbh_txn_func)(pdo_dbh_t *dbh); -/* setting of attributes */ -typedef int (*pdo_dbh_set_attr_func)(pdo_dbh_t *dbh, zend_long attr, zval *val); +/* setting of attributes + * Return true on success and false in case of failure */ +typedef bool (*pdo_dbh_set_attr_func)(pdo_dbh_t *dbh, zend_long attr, zval *val); /* return last insert id. NULL indicates error condition, otherwise, the return value * MUST be an emalloc'd NULL terminated string. */ diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c index ecb92fe2c8..da743752ca 100644 --- a/ext/pdo_dblib/dblib_driver.c +++ b/ext/pdo_dblib/dblib_driver.c @@ -269,28 +269,28 @@ char *dblib_handle_last_id(pdo_dbh_t *dbh, const char *name, size_t *len) return id; } -static int dblib_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) +static bool dblib_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) { pdo_dblib_db_handle *H = (pdo_dblib_db_handle *)dbh->driver_data; switch(attr) { case PDO_ATTR_DEFAULT_STR_PARAM: H->assume_national_character_set_strings = zval_get_long(val) == PDO_PARAM_STR_NATL ? 1 : 0; - return 1; + return true; case PDO_ATTR_TIMEOUT: case PDO_DBLIB_ATTR_QUERY_TIMEOUT: - return SUCCEED == dbsettime(zval_get_long(val)) ? 1 : 0; + return SUCCEED == dbsettime(zval_get_long(val)); case PDO_DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER: H->stringify_uniqueidentifier = zval_get_long(val); - return 1; + return true; case PDO_DBLIB_ATTR_SKIP_EMPTY_ROWSETS: H->skip_empty_rowsets = zval_is_true(val); - return 1; + return true; case PDO_DBLIB_ATTR_DATETIME_CONVERT: H->datetime_convert = zval_get_long(val); - return 1; + return true; default: - return 0; + return false; } } diff --git a/ext/pdo_firebird/firebird_driver.c b/ext/pdo_firebird/firebird_driver.c index 39c6d4f877..1a729ef02c 100644 --- a/ext/pdo_firebird/firebird_driver.c +++ b/ext/pdo_firebird/firebird_driver.c @@ -821,7 +821,7 @@ static int firebird_alloc_prepare_stmt(pdo_dbh_t *dbh, const char *sql, size_t s /* }}} */ /* called by PDO to set a driver-specific dbh attribute */ -static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /* {{{ */ +static bool firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /* {{{ */ { pdo_firebird_db_handle *H = (pdo_firebird_db_handle *)dbh->driver_data; @@ -837,7 +837,7 @@ static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *v /* turning on auto_commit with an open transaction is illegal, because we won't know what to do with it */ H->last_app_error = "Cannot enable auto-commit while a transaction is already open"; - return 0; + return false; } else { /* close the transaction */ if (!firebird_handle_commit(dbh)) { @@ -849,17 +849,17 @@ static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *v dbh->auto_commit = bval; } } - return 1; + return true; case PDO_ATTR_FETCH_TABLE_NAMES: H->fetch_table_names = zval_get_long(val)? 1 : 0; - return 1; + return true; case PDO_FB_ATTR_DATE_FORMAT: { zend_string *str = zval_try_get_string(val); if (UNEXPECTED(!str)) { - return 0; + return false; } if (H->date_format) { efree(H->date_format); @@ -867,13 +867,13 @@ static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *v spprintf(&H->date_format, 0, "%s", ZSTR_VAL(str)); zend_string_release_ex(str, 0); } - return 1; + return true; case PDO_FB_ATTR_TIME_FORMAT: { zend_string *str = zval_try_get_string(val); if (UNEXPECTED(!str)) { - return 0; + return false; } if (H->time_format) { efree(H->time_format); @@ -881,13 +881,13 @@ static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *v spprintf(&H->time_format, 0, "%s", ZSTR_VAL(str)); zend_string_release_ex(str, 0); } - return 1; + return true; case PDO_FB_ATTR_TIMESTAMP_FORMAT: { zend_string *str = zval_try_get_string(val); if (UNEXPECTED(!str)) { - return 0; + return false; } if (H->timestamp_format) { efree(H->timestamp_format); @@ -895,9 +895,9 @@ static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *v spprintf(&H->timestamp_format, 0, "%s", ZSTR_VAL(str)); zend_string_release_ex(str, 0); } - return 1; + return true; } - return 0; + return false; } /* }}} */ diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c index 54fa43700d..ce40a21cd0 100644 --- a/ext/pdo_mysql/mysql_driver.c +++ b/ext/pdo_mysql/mysql_driver.c @@ -390,7 +390,7 @@ static inline int mysql_handle_autocommit(pdo_dbh_t *dbh) /* }}} */ /* {{{ pdo_mysql_set_attribute */ -static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) +static bool pdo_mysql_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) { zend_long lval = zval_get_long(val); zend_bool bval = lval ? 1 : 0; @@ -403,29 +403,29 @@ static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) if (dbh->auto_commit ^ bval) { dbh->auto_commit = bval; if (!mysql_handle_autocommit(dbh)) { - PDO_DBG_RETURN(0); + PDO_DBG_RETURN(false); } } - PDO_DBG_RETURN(1); + PDO_DBG_RETURN(true); case PDO_ATTR_DEFAULT_STR_PARAM: ((pdo_mysql_db_handle *)dbh->driver_data)->assume_national_character_set_strings = lval == PDO_PARAM_STR_NATL; - PDO_DBG_RETURN(1); + PDO_DBG_RETURN(true); case PDO_MYSQL_ATTR_USE_BUFFERED_QUERY: /* ignore if the new value equals the old one */ ((pdo_mysql_db_handle *)dbh->driver_data)->buffered = bval; - PDO_DBG_RETURN(1); + PDO_DBG_RETURN(true); case PDO_MYSQL_ATTR_DIRECT_QUERY: case PDO_ATTR_EMULATE_PREPARES: /* ignore if the new value equals the old one */ ((pdo_mysql_db_handle *)dbh->driver_data)->emulate_prepare = bval; - PDO_DBG_RETURN(1); + PDO_DBG_RETURN(true); case PDO_ATTR_FETCH_TABLE_NAMES: ((pdo_mysql_db_handle *)dbh->driver_data)->fetch_table_names = bval; - PDO_DBG_RETURN(1); + PDO_DBG_RETURN(true); #ifndef PDO_USE_MYSQLND case PDO_MYSQL_ATTR_MAX_BUFFER_SIZE: @@ -436,12 +436,12 @@ static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) } else { ((pdo_mysql_db_handle *)dbh->driver_data)->max_buffer_size = lval; } - PDO_DBG_RETURN(1); + PDO_DBG_RETURN(true); break; #endif default: - PDO_DBG_RETURN(0); + PDO_DBG_RETURN(false); } } /* }}} */ diff --git a/ext/pdo_oci/oci_driver.c b/ext/pdo_oci/oci_driver.c index ac0e9d8926..b104a38333 100644 --- a/ext/pdo_oci/oci_driver.c +++ b/ext/pdo_oci/oci_driver.c @@ -426,7 +426,7 @@ static bool oci_handle_rollback(pdo_dbh_t *dbh) /* {{{ */ } /* }}} */ -static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /* {{{ */ +static bool oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /* {{{ */ { zend_long lval = zval_get_long(val); pdo_oci_db_handle *H = (pdo_oci_db_handle *)dbh->driver_data; @@ -440,25 +440,25 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / if (H->last_err) { H->last_err = oci_drv_error("OCITransCommit"); - return 0; + return false; } dbh->in_txn = false; } dbh->auto_commit = (unsigned int)lval? 1 : 0; - return 1; + return true; } case PDO_ATTR_PREFETCH: { H->prefetch = pdo_oci_sanitize_prefetch(lval); - return 1; + return true; } case PDO_OCI_ATTR_ACTION: { #if (OCI_MAJOR_VERSION >= 10) zend_string *action = zval_try_get_string(val); if (UNEXPECTED(!action)) { - return 0; + return false; } H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION, @@ -466,12 +466,12 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / OCI_ATTR_ACTION, H->err); if (H->last_err) { oci_drv_error("OCIAttrSet: OCI_ATTR_ACTION"); - return 0; + return false; } - return 1; + return true; #else oci_drv_error("Unsupported attribute type"); - return 0; + return false; #endif } case PDO_OCI_ATTR_CLIENT_INFO: @@ -479,7 +479,7 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / #if (OCI_MAJOR_VERSION >= 10) zend_string *client_info = zval_try_get_string(val); if (UNEXPECTED(!client_info)) { - return 0; + return false; } H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION, @@ -487,12 +487,12 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / OCI_ATTR_CLIENT_INFO, H->err); if (H->last_err) { oci_drv_error("OCIAttrSet: OCI_ATTR_CLIENT_INFO"); - return 0; + return false; } - return 1; + return true; #else oci_drv_error("Unsupported attribute type"); - return 0; + return false; #endif } case PDO_OCI_ATTR_CLIENT_IDENTIFIER: @@ -500,7 +500,7 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / #if (OCI_MAJOR_VERSION >= 10) zend_string *identifier = zval_try_get_string(val); if (UNEXPECTED(!identifier)) { - return 0; + return false; } H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION, @@ -508,12 +508,12 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / OCI_ATTR_CLIENT_IDENTIFIER, H->err); if (H->last_err) { oci_drv_error("OCIAttrSet: OCI_ATTR_CLIENT_IDENTIFIER"); - return 0; + return false; } - return 1; + return true; #else oci_drv_error("Unsupported attribute type"); - return 0; + return false; #endif } case PDO_OCI_ATTR_MODULE: @@ -521,7 +521,7 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / #if (OCI_MAJOR_VERSION >= 10) zend_string *module = zval_try_get_string(val); if (UNEXPECTED(!module)) { - return 0; + return false; } H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION, @@ -529,12 +529,12 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / OCI_ATTR_MODULE, H->err); if (H->last_err) { oci_drv_error("OCIAttrSet: OCI_ATTR_MODULE"); - return 0; + return false; } - return 1; + return true; #else oci_drv_error("Unsupported attribute type"); - return 0; + return false; #endif } case PDO_OCI_ATTR_CALL_TIMEOUT: @@ -547,16 +547,16 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) / OCI_ATTR_CALL_TIMEOUT, H->err); if (H->last_err) { oci_drv_error("OCIAttrSet: OCI_ATTR_CALL_TIMEOUT"); - return 0; + return false; } - return 1; + return true; #else oci_drv_error("Unsupported attribute type"); - return 0; + return false; #endif } default: - return 0; + return false; } } diff --git a/ext/pdo_odbc/odbc_driver.c b/ext/pdo_odbc/odbc_driver.c index 732512eb58..e9a8b640cb 100644 --- a/ext/pdo_odbc/odbc_driver.c +++ b/ext/pdo_odbc/odbc_driver.c @@ -334,18 +334,18 @@ static bool odbc_handle_rollback(pdo_dbh_t *dbh) return true; } -static int odbc_handle_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) +static bool odbc_handle_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) { pdo_odbc_db_handle *H = (pdo_odbc_db_handle *)dbh->driver_data; switch (attr) { case PDO_ODBC_ATTR_ASSUME_UTF8: H->assume_utf8 = zval_is_true(val); - return 1; + return true; default: strcpy(H->einfo.last_err_msg, "Unknown Attribute"); H->einfo.what = "setAttribute"; strcpy(H->einfo.last_state, "IM001"); - return 0; + return false; } } diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 78ed0c30c2..44a7d110a5 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -1149,7 +1149,7 @@ static const zend_function_entry *pdo_pgsql_get_driver_methods(pdo_dbh_t *dbh, i } } -static int pdo_pgsql_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) +static bool pdo_pgsql_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) { zend_bool bval = zval_get_long(val)? 1 : 0; pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; @@ -1157,12 +1157,12 @@ static int pdo_pgsql_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) switch (attr) { case PDO_ATTR_EMULATE_PREPARES: H->emulate_prepares = bval; - return 1; + return true; case PDO_PGSQL_ATTR_DISABLE_PREPARES: H->disable_prepares = bval; - return 1; + return true; default: - return 0; + return false; } } diff --git a/ext/pdo_sqlite/sqlite_driver.c b/ext/pdo_sqlite/sqlite_driver.c index a7c9284dfc..dc494686dd 100644 --- a/ext/pdo_sqlite/sqlite_driver.c +++ b/ext/pdo_sqlite/sqlite_driver.c @@ -295,19 +295,19 @@ static int pdo_sqlite_get_attribute(pdo_dbh_t *dbh, zend_long attr, zval *return return 1; } -static int pdo_sqlite_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) +static bool pdo_sqlite_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val) { pdo_sqlite_db_handle *H = (pdo_sqlite_db_handle *)dbh->driver_data; switch (attr) { case PDO_ATTR_TIMEOUT: sqlite3_busy_timeout(H->db, zval_get_long(val) * 1000); - return 1; + return true; case PDO_SQLITE_ATTR_EXTENDED_RESULT_CODES: sqlite3_extended_result_codes(H->db, zval_get_long(val)); - return 1; + return true; } - return 0; + return false; } typedef struct { |