fix commit "inpcom.c, inp_add_levels(), add level info to each line in deck"

levelinfo is not properly initialized when function inp_add_levels()
  is called more than once.
This commit is contained in:
rlar 2016-11-06 11:53:54 +01:00
parent 3a36ab15bf
commit a8f2baad19
1 changed files with 5 additions and 3 deletions

View File

@ -6746,7 +6746,10 @@ inp_add_levels(struct line *deck)
{
struct line *card, *card_prev = deck;
int skip_control = 0, subs = 0, i;
static unsigned short levelinfo[NESTINGDEPTH];
unsigned short levelinfo[NESTINGDEPTH];
for (i = 0; i < NESTINGDEPTH; i++)
levelinfo[i] = 0;
for (card = deck; card; card = card->li_next) {
@ -6770,8 +6773,7 @@ inp_add_levels(struct line *deck)
if (*curr_line == '.') {
if (ciprefix(".subckt", curr_line)) {
subs++;
levelinfo[subs - 1]++;
levelinfo[subs++]++;
for (i = 0; i < NESTINGDEPTH; i++)
card->level[i] = levelinfo[i];
card_prev = card;