]> granicus.if.org Git - php/commitdiff
MFZE1 - lineno fix
authorZeev Suraski <zeev@php.net>
Sun, 5 Jan 2003 16:09:59 +0000 (16:09 +0000)
committerZeev Suraski <zeev@php.net>
Sun, 5 Jan 2003 16:09:59 +0000 (16:09 +0000)
Zend/zend_compile.c
Zend/zend_globals.h
Zend/zend_language_scanner.l

index 9b6c08f52f1d3a41dca172a2b96fe62e699f3217..bd93b438d6ec63832ca4beaa16c8bf469cdc64b5 100644 (file)
@@ -79,6 +79,7 @@ void zend_init_compiler_data_structures(TSRMLS_D)
        zend_stack_init(&CG(list_stack));
        CG(handle_op_arrays) = 1;
        CG(in_compilation) = 0;
+       CG(start_lineno) = 0;
        init_compiler_declarables(TSRMLS_C);
        CG(throw_list) = NULL;
        zend_register_auto_global("GLOBALS", sizeof("GLOBALS")-1 TSRMLS_CC);
index d9a2539466163d2a453053a0668ae533ba03d9fa..a8f4fbdf40d02fd68e7201db09c89d3915c425cb 100644 (file)
@@ -119,6 +119,7 @@ struct _zend_compiler_globals {
 
        int interactive;
 
+       zend_uint start_lineno;
        zend_bool in_clone_method;
        zend_bool increment_lineno;
 
index 51367b29eeb430f131a329588b53372e1e0aa9b7..aabe7b00a2486b5f2bb5c4223303ea229f15ac57 100644 (file)
@@ -248,8 +248,9 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
 
        zend_set_compiled_filename(file_path TSRMLS_CC);
        
-       if (CG(zend_lineno) < 0) { /* position is (n_lines * -1), position was changed by an external app */
-               CG(zend_lineno) = CG(zend_lineno) * -1;
+       if (CG(start_lineno)) {
+               CG(zend_lineno) = CG(start_lineno);
+               CG(start_lineno) = 0;
        } else {
                CG(zend_lineno) = 1;
        }