iliaa           Mon Nov 13 22:11:02 2006 UTC

  Modified files:              
    /php-src/ext/pgsql  pgsql.c 
  Log:
  MFB: Fixed bug #36812 (pg_execute() modifies input array).
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/pgsql.c?r1=1.358&r2=1.359&diff_format=u
Index: php-src/ext/pgsql/pgsql.c
diff -u php-src/ext/pgsql/pgsql.c:1.358 php-src/ext/pgsql/pgsql.c:1.359
--- php-src/ext/pgsql/pgsql.c:1.358     Fri Oct  6 21:45:35 2006
+++ php-src/ext/pgsql/pgsql.c   Mon Nov 13 22:11:02 2006
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: pgsql.c,v 1.358 2006/10/06 21:45:35 iliaa Exp $ */
+/* $Id: pgsql.c,v 1.359 2006/11/13 22:11:02 iliaa Exp $ */
 
 #include <stdlib.h>
 
@@ -1472,6 +1472,7 @@
                php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Found results on 
this connection. Use pg_get_result() to get these results first");
        }
 
+       SEPARATE_ZVAL(pv_param_arr);
        zend_hash_internal_pointer_reset(Z_ARRVAL_PP(pv_param_arr));
        num_params = zend_hash_num_elements(Z_ARRVAL_PP(pv_param_arr));
        if (num_params > 0) {
@@ -1486,7 +1487,8 @@
                        }
 
                        otype = (*tmp)->type;
-                       convert_to_string(*tmp);
+                       SEPARATE_ZVAL(tmp);
+                       convert_to_string_ex(tmp);
                        if (Z_TYPE_PP(tmp) != IS_STRING) {
                                php_error_docref(NULL TSRMLS_CC, 
E_WARNING,"Error converting parameter");
                                _php_pgsql_free_params(params, num_params);
@@ -1495,8 +1497,7 @@
 
                        if (otype == IS_NULL) {
                                params[i] = NULL;
-                       }
-                       else {
+                       } else {
                                params[i] = Z_STRVAL_PP(tmp);
                        }
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to