]> granicus.if.org Git - php/commitdiff
Fix filenames and line numbers in ZTS mode
authorZeev Suraski <zeev@php.net>
Sat, 17 Jun 2000 14:12:58 +0000 (14:12 +0000)
committerZeev Suraski <zeev@php.net>
Sat, 17 Jun 2000 14:12:58 +0000 (14:12 +0000)
Zend/zend-scanner.h
Zend/zend-scanner.l

index 546c3e1a628814d96e47644df936bf8783f3e262..b455b3ad08029807cd4d05e2a2d81dba8d16c36b 100644 (file)
@@ -33,21 +33,19 @@ public:
 #endif /* ZTS */
 
 
-#ifndef ZTS
 typedef struct _zend_lex_state {
+#ifndef ZTS
        YY_BUFFER_STATE buffer_state;
        int state;
-       uint return_offset;
-       uint lineno;
        FILE *in;
-       char *filename;
-} zend_lex_state;
 #else
-typedef struct _zend_lex_state {
        ZendFlexLexer *ZFL;
        istream *input_file;
-} zend_lex_state;
 #endif
+       uint lineno;
+       char *filename;
+} zend_lex_state;
+
 
 void zend_fatal_scanner_error(char *);
 inline void restore_lexical_state(zend_lex_state * CLS_DC);
index 30ab9dc3b4199667e315261f27ba4cdfe9d2125c..a69a51098258dac934dc80d9d26750204c0a0100 100644 (file)
@@ -148,12 +148,12 @@ static inline void save_lexical_state(zend_lex_state *lex_state CLS_DC)
 #ifndef ZTS
        memcpy(&lex_state->buffer_state,&YY_CURRENT_BUFFER,sizeof(YY_BUFFER_STATE));
        lex_state->in = yyin;
-       lex_state->lineno = CG(zend_lineno);
        lex_state->state = YYSTATE;
-       lex_state->filename = zend_get_compiled_filename(CLS_C);
 #else
        lex_state->ZFL = CG(ZFL);
 #endif
+       lex_state->filename = zend_get_compiled_filename(CLS_C);
+       lex_state->lineno = CG(zend_lineno);
 }
 
 
@@ -170,13 +170,13 @@ inline void restore_lexical_state(zend_lex_state *lex_state CLS_DC)
                
        yy_delete_buffer(original_buffer_state);
        yyin = lex_state->in;
-       CG(zend_lineno) = lex_state->lineno;
        BEGIN(lex_state->state);
-       zend_restore_compiled_filename(lex_state->filename);
 #else
        delete((ZendFlexLexer *) CG(ZFL));
        CG(ZFL) = lex_state->ZFL;
 #endif
+       CG(zend_lineno) = lex_state->lineno;
+       zend_restore_compiled_filename(lex_state->filename);
 }