diff options
Diffstat (limited to 'preproc.c')
| -rw-r--r-- | preproc.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -206,11 +206,11 @@ TokenPtrVec lex_level(RawLine* line, char until, PreprocArena* arena) { continue; } + Token* tok_ptr; + switch (line->str[line->pos]) { case '\'': - Chunk sqchunk = collect_single_quoted_section(line); - Chunk* sqptr = push_to_ChunkVec(&arena->chunks, sqchunk); - push_to_Word(&state.word_germ, sqptr); + push_to_Word(&state.word_germ, push_to_ChunkVec(&arena->chunks, collect_single_quoted_section(line))); break; case '\"': lex_double_quoted_section(line, &state.word_germ, arena); @@ -218,7 +218,7 @@ TokenPtrVec lex_level(RawLine* line, char until, PreprocArena* arena) { case '|': line->pos++; close_word_and_lit_germs(&state, &line_toks, arena); - Token* tok_ptr = push_to_TokenVec(&arena->tokens, (Token){.kind = TOK_SPECIAL, .as.spec = PIPE}); + tok_ptr = push_to_TokenVec(&arena->tokens, (Token){.kind = TOK_SPECIAL, .as.spec = PIPE}); push_to_TokenPtrVec(&line_toks, tok_ptr); break; case '$': @@ -245,17 +245,17 @@ TokenPtrVec lex_level(RawLine* line, char until, PreprocArena* arena) { Region subreg = {.mode = CMDS, .tokens = sub_regtoks}; Region* subreg_ptr = push_to_RegionVec(&arena->regions, subreg); Token tok = {.kind = TOK_PROCSUB_OUT, .as.procsub_region = subreg_ptr}; - Token* tok_ptr = push_to_TokenVec(&arena->tokens, tok); + tok_ptr = push_to_TokenVec(&arena->tokens, tok); push_to_TokenPtrVec(&line_toks, tok_ptr); break; case '>': line->pos++; - Token* tok_ptr2 = push_to_TokenVec(&arena->tokens, (Token){.kind = TOK_SPECIAL, .as.spec = WRITE_REDIR_APPEND}); - push_to_TokenPtrVec(&line_toks, tok_ptr2); + tok_ptr = push_to_TokenVec(&arena->tokens, (Token){.kind = TOK_SPECIAL, .as.spec = WRITE_REDIR_APPEND}); + push_to_TokenPtrVec(&line_toks, tok_ptr); break; default: - Token* tok_ptr3 = push_to_TokenVec(&arena->tokens, (Token){.kind = TOK_SPECIAL, .as.spec = WRITE_REDIR_TRUNC}); - push_to_TokenPtrVec(&line_toks, tok_ptr3); + tok_ptr = push_to_TokenVec(&arena->tokens, (Token){.kind = TOK_SPECIAL, .as.spec = WRITE_REDIR_TRUNC}); + push_to_TokenPtrVec(&line_toks, tok_ptr); } break; case '<': |
