From 7d1e0e7f30ebaeca2d7ba2fb6d91aeeda5598e99 Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Wed, 20 Dec 2006 16:30:00 +0000 Subject: [PATCH] fix #39903 (Notice message when executing __halt_compiler() more than once) --- Zend/zend_language_parser.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 9128459991..be189bf6a0 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -165,7 +165,7 @@ top_statement: statement | function_declaration_statement { zend_do_early_binding(TSRMLS_C); } | class_declaration_statement { zend_do_early_binding(TSRMLS_C); } - | T_HALT_COMPILER '(' ')' ';' { REGISTER_MAIN_LONG_CONSTANT("__COMPILER_HALT_OFFSET__", zend_get_scanned_file_offset(TSRMLS_C), CONST_CS); YYACCEPT; } + | T_HALT_COMPILER '(' ')' ';' { zval c; if (zend_get_constant("__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__") - 1, &c TSRMLS_CC)) { zval_dtor(&c); zend_error(E_COMPILE_ERROR, "__HALT_COMPILER() can only be used once per request"); } else { REGISTER_MAIN_LONG_CONSTANT("__COMPILER_HALT_OFFSET__", zend_get_scanned_file_offset(TSRMLS_C), CONST_CS); } YYACCEPT; } ; -- 2.50.1