Skip to content

Commit fac8eaf

Browse files
author
Ilia Alshanetsky
committed
MFZE1
1 parent 9618e4e commit fac8eaf

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

Zend/zend_globals.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ struct _zend_scanner_globals {
252252
char *c_buf_p;
253253
int init;
254254
int start;
255+
int lineno;
255256
char _yy_hold_char;
256257
int yy_n_chars;
257258
int _yy_did_buffer_switch_on_eof;

Zend/zend_ini_parser.y

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ zval yylval;
5757
#ifndef ZTS
5858
extern int ini_lex(zval *ini_lval TSRMLS_DC);
5959
extern FILE *ini_in;
60-
extern int ini_lineno;
6160
extern void init_cfg_scanner(void);
6261
#endif
6362

Zend/zend_ini_scanner.l

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ ZEND_API zend_scanner_globals ini_scanner_globals;
4949

5050
static char *ini_filename;
5151

52-
void init_ini_scanner()
52+
void init_ini_scanner(TSRMLS_D)
5353
{
54-
ini_lineno=1;
54+
SCNG(lineno)=1;
5555
}
5656

5757

5858
int zend_ini_scanner_get_lineno(TSRMLS_D)
5959
{
60-
return ini_lineno;
60+
return SCNG(lineno);
6161
}
6262

6363

@@ -83,7 +83,7 @@ int zend_ini_open_file_for_scanning(zend_file_handle *fh TSRMLS_DC)
8383
return FAILURE;
8484
}
8585

86-
init_ini_scanner();
86+
init_ini_scanner(TSRMLS_C);
8787
yyin = fp;
8888
yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE TSRMLS_CC) TSRMLS_CC);
8989
ini_filename = fh->filename;
@@ -105,7 +105,6 @@ void zend_ini_close_file(zend_file_handle *fh TSRMLS_DC)
105105
NEWLINE ("\r"|"\n"|"\r\n")
106106

107107
%option noyywrap
108-
%option yylineno
109108

110109
%%
111110

@@ -134,6 +133,8 @@ NEWLINE ("\r"|"\n"|"\r\n")
134133
yytext[yyleng]=0;
135134
}
136135

136+
SCNG(lineno)++;
137+
137138
/* eat leading [ */
138139
yytext++;
139140
yyleng--;
@@ -200,15 +201,20 @@ NEWLINE ("\r"|"\n"|"\r\n")
200201

201202

202203
<INITIAL>[=\n] {
204+
if (yytext[0] == '\n') {
205+
SCNG(lineno)++;
206+
}
203207
return yytext[0];
204208
}
205209

206210
<INITIAL>{NEWLINE} {
211+
SCNG(lineno)++;
207212
return '\n';
208213
}
209214

210215
<INITIAL>[;][^\r\n]*{NEWLINE}? {
211216
/* comment */
217+
SCNG(lineno)++;
212218
return '\n';
213219
}
214220

0 commit comments

Comments
 (0)