]> granicus.if.org Git - php/commitdiff
Doh, need to canonicalize parameter names (by prefixing with :) before
authorWez Furlong <wez@php.net>
Sat, 26 Nov 2005 21:20:52 +0000 (21:20 +0000)
committerWez Furlong <wez@php.net>
Sat, 26 Nov 2005 21:20:52 +0000 (21:20 +0000)
attempting to remap them to positional args.

ext/pdo/pdo_stmt.c

index 4f7c74eaeba78d8aa790379884baf95e03ac8d6f..62caef2e5fea49560360f2b28d49b33c244e0b49 100755 (executable)
@@ -306,10 +306,6 @@ static int really_register_bound_param(struct pdo_bound_param_data *param, pdo_s
                }
        }
 
-       if (is_param && !rewrite_name_to_position(stmt, param TSRMLS_CC)) {
-               return 0;
-       }
-
        if (param->name) {
                if (is_param && param->name[0] != ':') {
                        char *temp = emalloc(++param->namelen + 1);
@@ -320,6 +316,14 @@ static int really_register_bound_param(struct pdo_bound_param_data *param, pdo_s
                        param->name = estrndup(param->name, param->namelen);
                }
        }
+
+       if (is_param && !rewrite_name_to_position(stmt, param TSRMLS_CC)) {
+               if (param->name) {
+                       efree(param->name);
+                       param->name = NULL;
+               }
+               return 0;
+       }
        
        /* tell the driver we just created a parameter */
        if (stmt->methods->param_hook) {