diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-03 19:12:29 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-05 15:43:35 +0100 |
commit | bc5ce66617b6aa32b0ff7b51435cfc2c00c8ea89 (patch) | |
tree | da0c698853a3f91b992531ae607896f79b17d7fd | |
parent | c1c2470f843c0b8218dd3611330a941b00d0cc34 (diff) | |
download | busybox-w32-bc5ce66617b6aa32b0ff7b51435cfc2c00c8ea89.tar.gz busybox-w32-bc5ce66617b6aa32b0ff7b51435cfc2c00c8ea89.tar.bz2 busybox-w32-bc5ce66617b6aa32b0ff7b51435cfc2c00c8ea89.zip |
bc: simplify bc_lex_comment()
function old new delta
bc_lex_token 1369 1344 -25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | miscutils/bc.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c index dd01f5409..ecd19cb0b 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c | |||
@@ -3090,24 +3090,27 @@ static BcStatus bc_lex_comment(BcLex *l) | |||
3090 | { | 3090 | { |
3091 | size_t i, nls = 0; | 3091 | size_t i, nls = 0; |
3092 | const char *buf = l->buf; | 3092 | const char *buf = l->buf; |
3093 | bool end = false; | ||
3094 | char c; | ||
3095 | 3093 | ||
3096 | l->t.t = BC_LEX_WHITESPACE; | 3094 | l->t.t = BC_LEX_WHITESPACE; |
3097 | 3095 | i = ++l->i; | |
3098 | for (i = ++l->i; !end; i += !end) { | 3096 | for (;;) { |
3099 | 3097 | char c = buf[i]; | |
3100 | for (c = buf[i]; c != '*' && c != 0; c = buf[++i]) nls += (c == '\n'); | 3098 | check_star: |
3101 | 3099 | if (c == '*') { | |
3102 | if (c == 0 || buf[i + 1] == '\0') { | 3100 | c = buf[++i]; |
3101 | if (c == '/') | ||
3102 | break; | ||
3103 | goto check_star; | ||
3104 | } | ||
3105 | if (c == '\0') { | ||
3103 | l->i = i; | 3106 | l->i = i; |
3104 | return BC_STATUS_LEX_NO_COMMENT_END; | 3107 | return BC_STATUS_LEX_NO_COMMENT_END; |
3105 | } | 3108 | } |
3106 | 3109 | nls += (c == '\n'); | |
3107 | end = buf[i + 1] == '/'; | 3110 | i++; |
3108 | } | 3111 | } |
3109 | 3112 | ||
3110 | l->i = i + 2; | 3113 | l->i = i + 1; |
3111 | l->line += nls; | 3114 | l->line += nls; |
3112 | 3115 | ||
3113 | return BC_STATUS_SUCCESS; | 3116 | return BC_STATUS_SUCCESS; |