]> granicus.if.org Git - php/commitdiff
Revert invalid patch. It seems the real problem is in php error
authorYasuo Ohgaki <yohgaki@php.net>
Sat, 19 Oct 2002 06:05:16 +0000 (06:05 +0000)
committerYasuo Ohgaki <yohgaki@php.net>
Sat, 19 Oct 2002 06:05:16 +0000 (06:05 +0000)
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.

ext/pgsql/pgsql.c

index 48bcc262913164532b6e97b153345f3b320dad60..bdde2d5697876903c511c3167624755d8c8bb599 100644 (file)
@@ -3356,7 +3356,6 @@ PHPAPI int php_pgsql_convert(PGconn *pg_link, const char *table_name, const zval
                 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 @@ PHPAPI int php_pgsql_convert(PGconn *pg_link, const char *table_name, const zval
                        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 @@ PHPAPI int php_pgsql_convert(PGconn *pg_link, const char *table_name, const zval
                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 */