diff options
| author | George Peter Banyard <girgias@php.net> | 2021-03-15 15:30:58 +0000 |
|---|---|---|
| committer | George Peter Banyard <girgias@php.net> | 2021-03-17 00:58:01 +0000 |
| commit | c465462e912eae73d1e0407f2d2cb815f40f1c13 (patch) | |
| tree | 9abd9996e7f4d4e2128a57cf41158b86a3300796 /ext/pdo_dblib/dblib_driver.c | |
| parent | 32fb9b6fd17f6f5b965ac8b2fb69cbfda7603416 (diff) | |
| download | php-git-c465462e912eae73d1e0407f2d2cb815f40f1c13.tar.gz | |
Use standard PDO way for fetching integer attribute values
Diffstat (limited to 'ext/pdo_dblib/dblib_driver.c')
| -rw-r--r-- | ext/pdo_dblib/dblib_driver.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c index ae45da6beb..b65694c045 100644 --- a/ext/pdo_dblib/dblib_driver.c +++ b/ext/pdo_dblib/dblib_driver.c @@ -273,22 +273,35 @@ zend_string *dblib_handle_last_id(pdo_dbh_t *dbh, const zend_string *name) 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; + zend_long lval; switch(attr) { case PDO_ATTR_DEFAULT_STR_PARAM: - H->assume_national_character_set_strings = zval_get_long(val) == PDO_PARAM_STR_NATL ? 1 : 0; + if (!pdo_get_long_param(&lval, val)) { + return false; + } + H->assume_national_character_set_strings = lval == PDO_PARAM_STR_NATL ? 1 : 0; return true; case PDO_ATTR_TIMEOUT: case PDO_DBLIB_ATTR_QUERY_TIMEOUT: - return SUCCEED == dbsettime(zval_get_long(val)); + if (!pdo_get_long_param(&lval, val)) { + return false; + } + return SUCCEED == dbsettime(lval); case PDO_DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER: - H->stringify_uniqueidentifier = zval_get_long(val); + if (!pdo_get_long_param(&lval, val)) { + return false; + } + H->stringify_uniqueidentifier = lval; return true; case PDO_DBLIB_ATTR_SKIP_EMPTY_ROWSETS: H->skip_empty_rowsets = zval_is_true(val); return true; case PDO_DBLIB_ATTR_DATETIME_CONVERT: - H->datetime_convert = zval_get_long(val); + if (!pdo_get_long_param(&lval, val)) { + return false; + } + H->datetime_convert = lval; return true; default: return false; |
