From ff4805c023ae100dfab3b5072aeb09fd8133b534 Mon Sep 17 00:00:00 2001 From: rlar Date: Sat, 19 Nov 2016 08:49:19 +0100 Subject: [PATCH] subckt.c, finishLine(), #5/9, move/duplicate code behind if/else into the if/else --- src/frontend/subckt.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/frontend/subckt.c b/src/frontend/subckt.c index e471df7e5..a3d6f7647 100644 --- a/src/frontend/subckt.c +++ b/src/frontend/subckt.c @@ -1323,10 +1323,27 @@ finishLine(struct bxx_buffer *t, char *src, char *scname) if ((which == 'v') || (which == 'V')) { s = gettrans(buf, buf_end); + if (s) { + bxx_put_cstring(t, s); + } else { + /* + i(vname) -> i(v.subckt.vname) + i(ename) -> i(e.subckt.ename) + i(hname) -> i(h.subckt.hname) + i(bname) -> i(b.subckt.hname) + */ + if ((which == 'i' || which == 'I') && + (buf[0] == 'v' || buf[0] == 'V' || buf[0] == 'e' || buf[0] == 'h' + || buf[0] == 'b' || buf[0] == 'B')) { + bxx_putc(t, buf[0]); + bxx_putc(t, '.'); + } + bxx_put_cstring(t, scname); + bxx_putc(t, '.'); + bxx_put_substring(t, buf, buf_end); + } } else { s = NULL; - } - if (s) { bxx_put_cstring(t, s); } else { @@ -1346,6 +1363,7 @@ finishLine(struct bxx_buffer *t, char *src, char *scname) bxx_putc(t, '.'); bxx_put_substring(t, buf, buf_end); } + } /* translate the reference node, as in the "2" in "v(4,2)" */