From 4cabf8fa6c5e01f74522ad797cd3812678a932e4 Mon Sep 17 00:00:00 2001 From: rlar Date: Fri, 11 Mar 2016 22:37:59 +0100 Subject: [PATCH] parser/lexical.c, #3/10, move the `wlist' and `cw' resetting to the label `nloop' --- src/frontend/parser/lexical.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/frontend/parser/lexical.c b/src/frontend/parser/lexical.c index 6ea194620..0d9454ae6 100644 --- a/src/frontend/parser/lexical.c +++ b/src/frontend/parser/lexical.c @@ -139,6 +139,8 @@ cp_lexer(char *string) wlist = cw = NULL; nloop: + if (wlist) + wl_free(wlist); wlist = cw = NULL; i = 0; j = 0; @@ -195,8 +197,6 @@ nloop: } while (((c = cp_readchar(&string, cp_inp_cur)) != '\n') && (c != EOF)) ; - wl_free(wlist); - wlist = cw = NULL; goto nloop; } @@ -282,8 +282,6 @@ nloop: #else fputc(linebuf[j], cp_out); /* But you can't edit */ #endif - wl_free(wlist); - wlist = cw = NULL; goto nloop; } @@ -310,8 +308,6 @@ nloop: #endif // cp_ccom doesn't mess wlist, read only access to wlist->wl_word cp_ccom(wlist, buf, TRUE); - wl_free(wlist); - wlist = cw = NULL; goto nloop; } goto ldefault;