]> granicus.if.org Git - php/commitdiff
Slightly edited tests and fix for bug #62024
authorMatteo Beccati <mbeccati@php.net>
Fri, 31 May 2013 14:19:58 +0000 (16:19 +0200)
committerMatteo Beccati <mbeccati@php.net>
Fri, 31 May 2013 14:19:58 +0000 (16:19 +0200)
ext/pdo_firebird/firebird_statement.c
ext/pdo_firebird/tests/bug_62024.phpt

index e172133c885f0257aadd6750ae1b424e6959cdee..2b57cd8ba6b08cad2625da59c433d1640a7309d1 100644 (file)
@@ -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;
index 3daef68511ded5bfa1aa47be7f4909f306d7b2af..e046879c22a922ace698ee746c9806350c6be922 100644 (file)
@@ -21,8 +21,8 @@ $dbh->commit();
 $sql = "insert into test_insert (id, text) values (?, ?)";
 $sttmt = $dbh->prepare($sql);
 
-$args_ok = [1, "test1"];
-$args_err = [2, null];
+$args_ok = array(1, "test1");
+$args_err = array(2, null);
 
 $res = $sttmt->execute($args_ok);
 var_dump($res);