diff options
author | Matteo Beccati <mbeccati@php.net> | 2013-05-31 16:19:58 +0200 |
---|---|---|
committer | Matteo Beccati <mbeccati@php.net> | 2013-05-31 16:19:58 +0200 |
commit | 510498947ee350a7c60c576bb17911fd2d2880c8 (patch) | |
tree | 78518ba7d752a073a1b04a2c0da8ece8fe317e35 /ext/pdo_firebird/firebird_statement.c | |
parent | df6ca450ce1bebb7a36c0d2eecb51a28ac2f5118 (diff) | |
download | php-git-510498947ee350a7c60c576bb17911fd2d2880c8.tar.gz |
Slightly edited tests and fix for bug #62024
Diffstat (limited to 'ext/pdo_firebird/firebird_statement.c')
-rw-r--r-- | ext/pdo_firebird/firebird_statement.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ext/pdo_firebird/firebird_statement.c b/ext/pdo_firebird/firebird_statement.c index e172133c88..2b57cd8ba6 100644 --- a/ext/pdo_firebird/firebird_statement.c +++ b/ext/pdo_firebird/firebird_statement.c @@ -535,12 +535,14 @@ static int firebird_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_dat int force_null; case IS_LONG: - var->sqltype = (sizeof(long) == 8 ? SQL_INT64 : SQL_LONG) + (var->sqltype & 1); + /* keep the allow-NULL flag */ + var->sqltype = (sizeof(long) == 8 ? SQL_INT64 : SQL_LONG) | (var->sqltype & 1); var->sqldata = (void*)&Z_LVAL_P(param->parameter); var->sqllen = sizeof(long); break; case IS_DOUBLE: - var->sqltype = SQL_DOUBLE + (var->sqltype & 1); + /* keep the allow-NULL flag */ + var->sqltype = SQL_DOUBLE | (var->sqltype & 1); var->sqldata = (void*)&Z_DVAL_P(param->parameter); var->sqllen = sizeof(double); break; @@ -560,7 +562,8 @@ static int firebird_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_dat force_null = (Z_STRLEN_P(param->parameter) == 0); } if (!force_null) { - var->sqltype = SQL_TEXT + (var->sqltype & 1); + /* keep the allow-NULL flag */ + var->sqltype = SQL_TEXT | (var->sqltype & 1); var->sqldata = Z_STRVAL_P(param->parameter); var->sqllen = Z_STRLEN_P(param->parameter); break; |