bc: simplify bc_lex_comment()
function old new delta bc_lex_token 1369 1344 -25 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -3090,24 +3090,27 @@ static BcStatus bc_lex_comment(BcLex *l)
|
|||||||
{
|
{
|
||||||
size_t i, nls = 0;
|
size_t i, nls = 0;
|
||||||
const char *buf = l->buf;
|
const char *buf = l->buf;
|
||||||
bool end = false;
|
|
||||||
char c;
|
|
||||||
|
|
||||||
l->t.t = BC_LEX_WHITESPACE;
|
l->t.t = BC_LEX_WHITESPACE;
|
||||||
|
i = ++l->i;
|
||||||
for (i = ++l->i; !end; i += !end) {
|
for (;;) {
|
||||||
|
char c = buf[i];
|
||||||
for (c = buf[i]; c != '*' && c != 0; c = buf[++i]) nls += (c == '\n');
|
check_star:
|
||||||
|
if (c == '*') {
|
||||||
if (c == 0 || buf[i + 1] == '\0') {
|
c = buf[++i];
|
||||||
|
if (c == '/')
|
||||||
|
break;
|
||||||
|
goto check_star;
|
||||||
|
}
|
||||||
|
if (c == '\0') {
|
||||||
l->i = i;
|
l->i = i;
|
||||||
return BC_STATUS_LEX_NO_COMMENT_END;
|
return BC_STATUS_LEX_NO_COMMENT_END;
|
||||||
}
|
}
|
||||||
|
nls += (c == '\n');
|
||||||
end = buf[i + 1] == '/';
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
l->i = i + 2;
|
l->i = i + 1;
|
||||||
l->line += nls;
|
l->line += nls;
|
||||||
|
|
||||||
return BC_STATUS_SUCCESS;
|
return BC_STATUS_SUCCESS;
|
||||||
|
Reference in New Issue
Block a user