yohgaki         Sat Oct 19 02:05:17 2002 EDT

  Modified files:              
    /php4/ext/pgsql     pgsql.c 
  Log:
  Revert invalid patch. It seems the real problem is in php error 
  function(s). It exits with return code -1 when php_error_docref()
  is called.
  
  There is custom error handler and without custom error handler, 
  it is working.
  
  
Index: php4/ext/pgsql/pgsql.c
diff -u php4/ext/pgsql/pgsql.c:1.239 php4/ext/pgsql/pgsql.c:1.240
--- php4/ext/pgsql/pgsql.c:1.239        Sat Oct 19 00:46:19 2002
+++ php4/ext/pgsql/pgsql.c      Sat Oct 19 02:05:16 2002
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: pgsql.c,v 1.239 2002/10/19 04:46:19 yohgaki Exp $ */
+/* $Id: pgsql.c,v 1.240 2002/10/19 06:05:16 yohgaki Exp $ */
 
 #include <stdlib.h>
 
@@ -3356,7 +3356,6 @@
                 zend_hash_get_current_data_ex(Z_ARRVAL_P(values), (void **)&val, 
&pos) == SUCCESS;
                 zend_hash_move_forward_ex(Z_ARRVAL_P(values), &pos)) {
                skip_field = 0;
-               MAKE_STD_ZVAL(new_val);
                
                if ((key_type = zend_hash_get_current_key_ex(Z_ARRVAL_P(values), 
&field, &field_len, &num_idx, 0, &pos)) == HASH_KEY_NON_EXISTANT) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to get 
array key type");
@@ -3393,10 +3392,9 @@
                        err = 1;
                }
                if (err) {
-                       skip_field = 1; /* prevent adding invalid feild */
-                       break;
+                       break; /* break out for() */
                }
-               
+               MAKE_STD_ZVAL(new_val);
                switch(php_pgsql_get_data_type(Z_STRVAL_PP(type), Z_STRLEN_PP(type)))
                {
                        case PG_BOOL:
@@ -3884,7 +3882,7 @@
                if (err) {
                        zval_dtor(new_val);
                        FREE_ZVAL(new_val);
-                       break;                  
+                       break; /* break out for() */
                }
                if (!skip_field) {
                        /* If field is NULL and HAS DEFAULT, should be skipped */



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

Reply via email to