summaryrefslogtreecommitdiff
path: root/ext/sqlite3/sqlite3.c
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2013-02-19 13:28:10 +0100
committerOndřej Surý <ondrej@sury.org>2013-02-19 13:28:10 +0100
commit54098cf044025ec5965b8ea9c84750f9631d85b6 (patch)
treeed0ef32b379c0cdfe20fcafc5b27c4488732fe90 /ext/sqlite3/sqlite3.c
parent8572aeb0703107705fc7dde35961cd6a5f89c0c8 (diff)
downloadphp-upstream/5.5.0_alpha4.tar.gz
Imported Upstream version 5.5.0~alpha4upstream/5.5.0_alpha4
Diffstat (limited to 'ext/sqlite3/sqlite3.c')
-rw-r--r--ext/sqlite3/sqlite3.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c
index 881e3c370..df449d738 100644
--- a/ext/sqlite3/sqlite3.c
+++ b/ext/sqlite3/sqlite3.c
@@ -730,7 +730,11 @@ static int sqlite3_do_callback(struct php_sqlite3_fci *fc, zval *cb, int argc, s
switch (sqlite3_value_type(argv[i])) {
case SQLITE_INTEGER:
+#if LONG_MAX > 2147483647
+ ZVAL_LONG(*zargs[i + is_agg], sqlite3_value_int64(argv[i]));
+#else
ZVAL_LONG(*zargs[i + is_agg], sqlite3_value_int(argv[i]));
+#endif
break;
case SQLITE_FLOAT:
@@ -774,7 +778,11 @@ static int sqlite3_do_callback(struct php_sqlite3_fci *fc, zval *cb, int argc, s
if (retval) {
switch (Z_TYPE_P(retval)) {
case IS_LONG:
+#if LONG_MAX > 2147483647
+ sqlite3_result_int64(context, Z_LVAL_P(retval));
+#else
sqlite3_result_int(context, Z_LVAL_P(retval));
+#endif
break;
case IS_NULL:
@@ -1493,7 +1501,11 @@ PHP_METHOD(sqlite3stmt, execute)
switch (param->type) {
case SQLITE_INTEGER:
convert_to_long(param->parameter);
+#if LONG_MAX > 2147483647
+ sqlite3_bind_int64(stmt_obj->stmt, param->param_number, Z_LVAL_P(param->parameter));
+#else
sqlite3_bind_int(stmt_obj->stmt, param->param_number, Z_LVAL_P(param->parameter));
+#endif
break;
case SQLITE_FLOAT: