From 18624703e3c227bc3bab8b1cff1bcca4a8f8ced0 Mon Sep 17 00:00:00 2001 From: Michael Urman Date: Sun, 17 Mar 2002 00:48:56 +0000 Subject: [PATCH] Handle %define to %define - caught use of a global in a recursive func. Fix how %defines get built - append_through_return -> append_to_return. svn path=/trunk/yasm/; revision=511 --- modules/preprocs/yapp/yapp-preproc.c | 19 ++++++++++--------- src/preprocs/yapp/yapp-preproc.c | 19 ++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/modules/preprocs/yapp/yapp-preproc.c b/modules/preprocs/yapp/yapp-preproc.c index c4099b14..7c603606 100644 --- a/modules/preprocs/yapp/yapp-preproc.c +++ b/modules/preprocs/yapp/yapp-preproc.c @@ -151,7 +151,7 @@ void append_token(int token); int -append_through_return(void); +append_to_return(void); int eat_through_return(void); @@ -341,16 +341,16 @@ append_token(int token) } int -append_through_return(void) +append_to_return(void) { - int token; - do { - token = yapp_preproc_lex(); + int token = yapp_preproc_lex(); + while (token != '\n') { ydebug(("YAPP: ATR: '%c' \"%s\"\n", token, yapp_preproc_lval.str_val)); if (token == 0) return 0; append_token(token); - } while (token != '\n'); + token = yapp_preproc_lex(); + } return '\n'; } @@ -402,6 +402,7 @@ expand_macro(YAPP_Macro *ym) { if (ym->type == YAPP_DEFINE) { if (ym->args == -1) { + source *src; /* no parens to deal with */ src = SLIST_FIRST(&ym->macro_head); while (src != NULL) { @@ -445,7 +446,7 @@ yapp_preproc_input(char *buf, size_t max_size) char *s; default: append_token(token); - /*if (append_through_return()==0) state=YAPP_STATE_EOF;*/ + /*if (append_to_return()==0) state=YAPP_STATE_EOF;*/ ydebug(("YAPP: default: '%c' \"%s\"\n", token, yapp_preproc_lval.str_val)); /*Error(_("YAPP got an unhandled token."));*/ break; @@ -490,7 +491,7 @@ yapp_preproc_input(char *buf, size_t max_size) /* no parens */ current_head = ¯o_head; current_tail = ¯o_tail; - if(append_through_return()==0) state=YAPP_STATE_EOF; + if(append_to_return()==0) state=YAPP_STATE_EOF; else { yapp_define_insert(s, -1, 0); } @@ -524,7 +525,7 @@ yapp_preproc_input(char *buf, size_t max_size) /* everything is what it's defined to be */ current_head = ¯o_head; current_tail = ¯o_tail; - if(append_through_return()==0) state=YAPP_STATE_EOF; + if(append_to_return()==0) state=YAPP_STATE_EOF; else { yapp_define_insert(s, param_count, 0); } diff --git a/src/preprocs/yapp/yapp-preproc.c b/src/preprocs/yapp/yapp-preproc.c index c4099b14..7c603606 100644 --- a/src/preprocs/yapp/yapp-preproc.c +++ b/src/preprocs/yapp/yapp-preproc.c @@ -151,7 +151,7 @@ void append_token(int token); int -append_through_return(void); +append_to_return(void); int eat_through_return(void); @@ -341,16 +341,16 @@ append_token(int token) } int -append_through_return(void) +append_to_return(void) { - int token; - do { - token = yapp_preproc_lex(); + int token = yapp_preproc_lex(); + while (token != '\n') { ydebug(("YAPP: ATR: '%c' \"%s\"\n", token, yapp_preproc_lval.str_val)); if (token == 0) return 0; append_token(token); - } while (token != '\n'); + token = yapp_preproc_lex(); + } return '\n'; } @@ -402,6 +402,7 @@ expand_macro(YAPP_Macro *ym) { if (ym->type == YAPP_DEFINE) { if (ym->args == -1) { + source *src; /* no parens to deal with */ src = SLIST_FIRST(&ym->macro_head); while (src != NULL) { @@ -445,7 +446,7 @@ yapp_preproc_input(char *buf, size_t max_size) char *s; default: append_token(token); - /*if (append_through_return()==0) state=YAPP_STATE_EOF;*/ + /*if (append_to_return()==0) state=YAPP_STATE_EOF;*/ ydebug(("YAPP: default: '%c' \"%s\"\n", token, yapp_preproc_lval.str_val)); /*Error(_("YAPP got an unhandled token."));*/ break; @@ -490,7 +491,7 @@ yapp_preproc_input(char *buf, size_t max_size) /* no parens */ current_head = ¯o_head; current_tail = ¯o_tail; - if(append_through_return()==0) state=YAPP_STATE_EOF; + if(append_to_return()==0) state=YAPP_STATE_EOF; else { yapp_define_insert(s, -1, 0); } @@ -524,7 +525,7 @@ yapp_preproc_input(char *buf, size_t max_size) /* everything is what it's defined to be */ current_head = ¯o_head; current_tail = ¯o_tail; - if(append_through_return()==0) state=YAPP_STATE_EOF; + if(append_to_return()==0) state=YAPP_STATE_EOF; else { yapp_define_insert(s, param_count, 0); } -- 2.40.0