diff options
Diffstat (limited to 'libcpp/lex.c')
| -rw-r--r-- | libcpp/lex.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/libcpp/lex.c b/libcpp/lex.c index 527368b8607..896a3bef2c2 100644 --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -1703,12 +1703,11 @@ next_tokenrun (tokenrun *run) return run->next; } -/* Return the number of not yet processed token in the the current +/* Return the number of not yet processed token in a given context. */ int -_cpp_remaining_tokens_num_in_context (cpp_reader *pfile) +_cpp_remaining_tokens_num_in_context (cpp_context *context) { - cpp_context *context = pfile->context; if (context->tokens_kind == TOKENS_KIND_DIRECT) return (LAST (context).token - FIRST (context).token); else if (context->tokens_kind == TOKENS_KIND_INDIRECT @@ -1718,12 +1717,11 @@ _cpp_remaining_tokens_num_in_context (cpp_reader *pfile) abort (); } -/* Returns the token present at index INDEX in the current context. - If INDEX is zero, the next token to be processed is returned. */ +/* Returns the token present at index INDEX in a given context. If + INDEX is zero, the next token to be processed is returned. */ static const cpp_token* -_cpp_token_from_context_at (cpp_reader *pfile, int index) +_cpp_token_from_context_at (cpp_context *context, int index) { - cpp_context *context = pfile->context; if (context->tokens_kind == TOKENS_KIND_DIRECT) return &(FIRST (context).token[index]); else if (context->tokens_kind == TOKENS_KIND_INDIRECT @@ -1744,10 +1742,10 @@ cpp_peek_token (cpp_reader *pfile, int index) /* First, scan through any pending cpp_context objects. */ while (context->prev) { - ptrdiff_t sz = _cpp_remaining_tokens_num_in_context (pfile); + ptrdiff_t sz = _cpp_remaining_tokens_num_in_context (context); if (index < (int) sz) - return _cpp_token_from_context_at (pfile, index); + return _cpp_token_from_context_at (context, index); index -= (int) sz; context = context->prev; } |

