aboutsummaryrefslogtreecommitdiff
path: root/tccpp.c
diff options
context:
space:
mode:
Diffstat (limited to 'tccpp.c')
-rw-r--r--tccpp.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/tccpp.c b/tccpp.c
index 913bded..f3dd232 100644
--- a/tccpp.c
+++ b/tccpp.c
@@ -2995,8 +2995,16 @@ ST_INLN void unget_tok(int last_tok)
{
int i, n;
int *q;
- unget_saved_macro_ptr = macro_ptr;
- unget_buffer_enabled = 1;
+ if (unget_buffer_enabled)
+ {
+ /* assert(macro_ptr == unget_saved_buffer + 1);
+ assert(*macro_ptr == 0); */
+ }
+ else
+ {
+ unget_saved_macro_ptr = macro_ptr;
+ unget_buffer_enabled = 1;
+ }
q = unget_saved_buffer;
macro_ptr = q;
*q++ = tok;