static char *ini_filename;
-void init_ini_scanner()
+void init_ini_scanner(TSRMLS_D)
{
- ini_lineno=1;
+ SCNG(lineno)=1;
}
int zend_ini_scanner_get_lineno(TSRMLS_D)
{
- return ini_lineno;
+ return SCNG(lineno);
}
return FAILURE;
}
- init_ini_scanner();
+ init_ini_scanner(TSRMLS_C);
yyin = fp;
yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE TSRMLS_CC) TSRMLS_CC);
ini_filename = fh->filename;
NEWLINE ("\r"|"\n"|"\r\n")
%option noyywrap
-%option yylineno
%%
yytext[yyleng]=0;
}
+ SCNG(lineno)++;
+
/* eat leading [ */
yytext++;
yyleng--;
<INITIAL>[=\n] {
+ if (yytext[0] == '\n') {
+ SCNG(lineno)++;
+ }
return yytext[0];
}
<INITIAL>{NEWLINE} {
+ SCNG(lineno)++;
return '\n';
}
<INITIAL>[;][^\r\n]*{NEWLINE}? {
/* comment */
+ SCNG(lineno)++;
return '\n';
}