diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2016-10-18 00:00:37 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2016-10-18 00:01:32 +0200 |
commit | 32123167d19841c1e1bb6ca746a9c998d00df31d (patch) | |
tree | 31b8b986931bdf8b767d6214bb357709594a85fb /ext/sqlite3/sqlite3.c | |
parent | 70afe4c4945812375395d375daa658adc1ba8549 (diff) | |
parent | 0b596f81b8f151969898c040db41bbb7c64c275a (diff) | |
download | php-git-32123167d19841c1e1bb6ca746a9c998d00df31d.tar.gz |
Merge branch 'PHP-7.0' into PHP-7.1
Diffstat (limited to 'ext/sqlite3/sqlite3.c')
-rw-r--r-- | ext/sqlite3/sqlite3.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 67b14bbb85..9eaf714b96 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -567,13 +567,20 @@ PHP_METHOD(sqlite3, query) static void sqlite_value_to_zval(sqlite3_stmt *stmt, int column, zval *data) /* {{{ */ { + sqlite3_int64 val; + switch (sqlite3_column_type(stmt, column)) { case SQLITE_INTEGER: - if ((sqlite3_column_int64(stmt, column)) >= INT_MAX || sqlite3_column_int64(stmt, column) <= INT_MIN) { + val = sqlite3_column_int64(stmt, column); +#if LONG_MAX <= 2147483647 + if (val > ZEND_LONG_MAX || val < ZEND_LONG_MIN) { ZVAL_STRINGL(data, (char *)sqlite3_column_text(stmt, column), sqlite3_column_bytes(stmt, column)); } else { - ZVAL_LONG(data, sqlite3_column_int64(stmt, column)); +#endif + ZVAL_LONG(data, val); +#if LONG_MAX <= 2147483647 } +#endif break; case SQLITE_FLOAT: |