From 782530170fd28668a2ae0c43a03bb339aaf0df70 Mon Sep 17 00:00:00 2001 From: vcrhonek Date: Wed, 27 Aug 2014 13:43:01 +0200 Subject: [PATCH 05/14] while loop counting Fix tcsh scripts with multiple case statement with end keywords break with error. praiskup: TODO: This patch reverts upstream commit a973723e from 2004-05-13. We should make sure that this is going to be fixed properly upstream. Resolves: #253247 original dist-git commit: 1bcd8ea591286664483d0aea2601a8729eb6b81f --- sh.func.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/sh.func.c b/sh.func.c index d3b890f..869de12 100644 --- a/sh.func.c +++ b/sh.func.c @@ -754,8 +754,6 @@ search(int type, int level, Char *goal) { struct Strbuf word = Strbuf_INIT; Char *cp; - struct whyle *wp; - int wlevel = 0; struct wordent *histent = NULL, *ohistent = NULL; Stype = type; @@ -813,24 +811,13 @@ search(int type, int level, Char *goal) case TC_FOREACH: case TC_WHILE: - wlevel++; if (type == TC_BREAK) level++; break; case TC_END: - if (type == TC_BRKSW) { - if (wlevel == 0) { - wp = whyles; - if (wp) { - whyles = wp->w_next; - wpfree(wp); - } - } - } if (type == TC_BREAK) level--; - wlevel--; break; case TC_SWITCH: -- 1.9.3