]> granicus.if.org Git - php/commitdiff
Fix another case of possible line number corruption
authorZeev Suraski <zeev@php.net>
Wed, 3 Jan 2001 23:00:01 +0000 (23:00 +0000)
committerZeev Suraski <zeev@php.net>
Wed, 3 Jan 2001 23:00:01 +0000 (23:00 +0000)
Zend/zend_language_scanner.l

index 515327608922eb3a8bb3156259a7ce7061cd20b8..56e4d27f21b52fe58d0e4952106481fc655a2f1f 100644 (file)
@@ -354,7 +354,6 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type CLS
                CG(active_op_array) = op_array;
                compiler_result = zendparse(CLS_C);
                zend_do_return(&retval_znode, 0 CLS_CC);
-               restore_lexical_state(&original_lex_state CLS_CC);
                CG(in_compilation) = original_in_compilation;
                if (compiler_result==1) { /* parser error */
                        CG(unclean_shutdown) = 1;
@@ -372,6 +371,9 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type CLS
                        retval = NULL;
                }
        }
+       if (compilation_successful) {
+               restore_lexical_state(&original_lex_state CLS_CC);
+       }
        return retval;
 }