Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend.c zend.h zend_builtin_functions.c zend_execute.c zend_execute_API.c

From: Date: Wed, 20 Nov 2002 12:01:01 +0000
Subject: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend.c zend.h zend_builtin_functions.c zend_execute.c zend_execute_API.c
References: 1  Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-639@lists.php.net to get a copy of this message
That broke my build :-( I had to do the following patch. marcus cvs -z3 -q diff zend_execute.c (in directory S:\php4-HEAD\Zend\) Index: zend_execute.c =================================================================== RCS file: /repository/ZendEngine2/zend_execute.c,v retrieving revision 1.394 diff -u -r1.394 zend_execute.c
--- zend_execute.c      19 Nov 2002 17:51:30 -0000      1.394
+++ zend_execute.c      20 Nov 2002 11:57:56 -0000
@@ -3567,8 +3567,8 @@ int zend_begin_silence_handler(ZEND_OPCODE_HANDLER_ARGS) {
-       EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval = EG(error_reporting);
-       EX(Ts)[EX(opline)->result.u.var].tmp_var.type = IS_LONG;  /* shouldn't be necessary */
+       EX_T(EX(opline)->result.u.var).tmp_var.value.lval = EG(error_reporting);
+       EX_T(EX(opline)->result.u.var).tmp_var.type = IS_LONG;  /* shouldn't be necessary */
        zend_alter_ini_entry("error_reporting", sizeof("error_reporting"), "0", 1, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME);
        NEXT_OPCODE();
} @@ -3578,10 +3583,11 @@
        zval restored_error_reporting;
        restored_error_reporting.type = IS_LONG;
-       restored_error_reporting.value.lval = EX(Ts)[EX(opline)->op1.u.var].tmp_var.value.lval;
+       restored_error_reporting.value.lval = EX_T(EX(opline)->op1.u.var).tmp_var.value.lval;
        convert_to_string(&restored_error_reporting);
        zend_alter_ini_entry("error_reporting", sizeof("error_reporting"), Z_STRVAL(restored_error_reporting), Z_STRLEN(restored_error_reporting), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME);
        zendi_zval_dtor(restored_error_reporting);
+       NEXT_OPCODE();
} int zend_qm_assign_handler(ZEND_OPCODE_HANDLER_ARGS) At 18:51 19.11.2002, Zeev Suraski wrote:
zeev            Tue Nov 19 12:51:30 2002 EDT
Modified files:
    /ZendEngine2        zend.c zend.h zend_builtin_functions.c zend_execute.c
                        zend_execute_API.c
Log: MFZE1 - error_reporting fix Index: ZendEngine2/zend.c diff -u ZendEngine2/zend.c:1.189 ZendEngine2/zend.c:1.190
--- ZendEngine2/zend.c:1.189    Tue Nov  5 01:10:05 2002
+++ ZendEngine2/zend.c Tue Nov 19 12:51:30 2002 @@ -58,6 +58,22 @@ static int (*zend_get_configuration_directive_p)(char *name, uint name_length, zval *contents); +static ZEND_INI_MH(OnUpdateErrorReporting) +{
+       if (!new_value) {
+               EG(error_reporting) = E_ALL & ~E_NOTICE;
+       } else {
+               EG(error_reporting) = atoi(new_value);
+       }
+       return SUCCESS;
+} + + +ZEND_INI_BEGIN()
+       ZEND_INI_ENTRY("error_reporting",                       NULL,      ZEND_INI_ALL,           OnUpdateErrorReporting)
+ZEND_INI_END() + + #ifdef ZTS ZEND_API int compiler_globals_id; ZEND_API int executor_globals_id; @@ -505,6 +521,14 @@ #endif
        return SUCCESS;
+} + + +void zend_register_standard_ini_entries(TSRMLS_D) +{
+       int module_number = 0;
+
+       REGISTER_INI_ENTRIES();
} Index: ZendEngine2/zend.h diff -u ZendEngine2/zend.h:1.185 ZendEngine2/zend.h:1.186
--- ZendEngine2/zend.h:1.185    Mon Nov 11 11:32:57 2002
+++ ZendEngine2/zend.h Tue Nov 19 12:51:30 2002 @@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
*/ -/* $Id: zend.h,v 1.185 2002/11/11 16:32:57 iliaa Exp $ */ +/* $Id: zend.h,v 1.186 2002/11/19 17:51:30 zeev Exp $ */ #ifndef ZEND_H #define ZEND_H @@ -396,6 +396,7 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions, int start_builtin_functions); void zend_shutdown(TSRMLS_D); +void zend_register_standard_ini_entries(TSRMLS_D); #ifdef ZTS void zend_post_startup(TSRMLS_D); Index: ZendEngine2/zend_builtin_functions.c diff -u ZendEngine2/zend_builtin_functions.c:1.154 ZendEngine2/zend_builtin_functions.c:1.155 --- ZendEngine2/zend_builtin_functions.c:1.154 Mon Oct 21 04:48:55 2002
+++ ZendEngine2/zend_builtin_functions.c        Tue Nov 19 12:51:30 2002
@@ -22,7 +22,7 @@ #include "zend_API.h" #include "zend_builtin_functions.h" #include "zend_constants.h" - +#include "zend_ini.h" #undef ZEND_TEST_EXCEPTIONS static ZEND_FUNCTION(zend_version); @@ -408,8 +408,8 @@
                        if (zend_get_parameters_ex(1, &arg) == FAILURE) {
                                RETURN_FALSE;
                        }
-                       convert_to_long_ex(arg);
-                       EG(error_reporting)=(*arg)->value.lval;
+                       convert_to_string_ex(arg);
+                       zend_alter_ini_entry("error_reporting", sizeof("error_reporting"), Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME);
                        break;
                default:
                        ZEND_WRONG_PARAM_COUNT();
Index: ZendEngine2/zend_execute.c diff -u ZendEngine2/zend_execute.c:1.393 ZendEngine2/zend_execute.c:1.394
--- ZendEngine2/zend_execute.c:1.393    Sun Nov 17 12:57:57 2002
+++ ZendEngine2/zend_execute.c Tue Nov 19 12:51:30 2002 @@ -31,6 +31,7 @@ #include "zend_extensions.h" #include "zend_fast_cache.h" #include "zend_execute_locks.h" +#include "zend_ini.h" #define get_zval_ptr(node, Ts, should_free, type) _get_zval_ptr(node, Ts, should_free TSRMLS_CC) #define get_zval_ptr_ptr(node, Ts, type) _get_zval_ptr_ptr(node, Ts TSRMLS_CC) @@ -3566,16 +3567,21 @@ int zend_begin_silence_handler(ZEND_OPCODE_HANDLER_ARGS) {
-       EX_T(EX(opline)->result.u.var).tmp_var.value.lval = EG(error_reporting);
-       EX_T(EX(opline)->result.u.var).tmp_var.type = IS_LONG;  /* shouldn't be necessary */
-       EG(error_reporting) = 0;
+       EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval = EG(error_reporting);
+       EX(Ts)[EX(opline)->result.u.var].tmp_var.type = IS_LONG;  /* shouldn't be necessary */
+       zend_alter_ini_entry("error_reporting", sizeof("error_reporting"), "0", 1, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME);
        NEXT_OPCODE();
} int zend_end_silence_handler(ZEND_OPCODE_HANDLER_ARGS) {
-       EG(error_reporting) = EX_T(EX(opline)->op1.u.var).tmp_var.value.lval;
-       NEXT_OPCODE();
+       zval restored_error_reporting;
+
+       restored_error_reporting.type = IS_LONG;
+       restored_error_reporting.value.lval = EX(Ts)[EX(opline)->op1.u.var].tmp_var.value.lval;
+       convert_to_string(&restored_error_reporting);
+       zend_alter_ini_entry("error_reporting", sizeof("error_reporting"), Z_STRVAL(restored_error_reporting), Z_STRLEN(restored_error_reporting), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME);
+       zendi_zval_dtor(restored_error_reporting);
} int zend_qm_assign_handler(ZEND_OPCODE_HANDLER_ARGS) Index: ZendEngine2/zend_execute_API.c diff -u ZendEngine2/zend_execute_API.c:1.182 ZendEngine2/zend_execute_API.c:1.183
--- ZendEngine2/zend_execute_API.c:1.182        Tue Nov  5 14:06:40 2002
+++ ZendEngine2/zend_execute_API.c      Tue Nov 19 12:51:30 2002
@@ -162,7 +162,6 @@
        zend_ptr_stack_init(&EG(user_error_handlers));
        zend_ptr_stack_init(&EG(user_exception_handlers));
-       EG(orig_error_reporting) = EG(error_reporting);
        zend_objects_store_init(&EG(objects_store), 1024);
        EG(full_tables_cleanup) = 0;
@@ -251,7 +250,6 @@
                zend_ptr_stack_clean(&EG(user_exception_handlers), ZVAL_DESTRUCTOR, 1);
                zend_ptr_stack_destroy(&EG(user_exception_handlers));
-               EG(error_reporting) = EG(orig_error_reporting);
                zend_objects_store_destroy(&EG(objects_store));
        } zend_end_try();
} -- Zend Engine CVS Mailing List (http://cvs.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.zend-engine.cvs (#639) next »