From c86d52aab6d2a24c12742c56455c5479298233c6 Mon Sep 17 00:00:00 2001 From: rlar Date: Wed, 7 Mar 2012 20:47:49 +0100 Subject: [PATCH] nest, rewrite --- src/frontend/subckt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/frontend/subckt.c b/src/frontend/subckt.c index 58a41cde3..6a48088e8 100644 --- a/src/frontend/subckt.c +++ b/src/frontend/subckt.c @@ -449,10 +449,12 @@ doit(struct line *deck) { int nest = 1; for (c = last->li_next; c; c = c->li_next) { if (ciprefix(sbend, c->li_line)) { /* found a .ends */ - if (!--nest) - break; /* nest = 0 means we have balanced .subckt and .ends */ + nest--; } else if (ciprefix(start, c->li_line)) /* if .subckt, increment nesting */ nest++; + + if(!nest) + break; lcc = c; /* lcc points to current pos of c */ } /* for (nest = 0 . . . */ }