From e425895a315d65ff9ca1e2d7911c2fd21d49fe5e Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Mon, 9 May 2022 18:59:23 +0000 Subject: =?UTF-8?q?Fix=20some=20nasty=20bugs=20with=20empty=20lines=20in?= =?UTF-8?q?=20dfns,=20and=20with=20stranding=20of=20=E2=8D=BA=20and=20?= =?UTF-8?q?=E2=8D=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lexer.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lexer.c') diff --git a/lexer.c b/lexer.c index 4e9a4e4..9ce251a 100644 --- a/lexer.c +++ b/lexer.c @@ -72,8 +72,14 @@ lexline(InputStream *input, int toplevel) case L'⋄': if(stmt->ntoks == 0) stmt = lexline(input, toplevel); - else + else{ stmt->next = lexline(input, toplevel); + if(stmt->next && stmt->next->ntoks == 0){ // Prevent empty statements + freestatement(*(stmt->next)); + free(stmt->next); + stmt->next = nil; + } + } goto end; case L'⍝': while(peek != '\n' && !inputEOF(input)) -- cgit v1.2.3