diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 3c9dc59f9..ce58136e9 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -3891,16 +3891,17 @@ inp_reorder_params_subckt(struct names *subckt_w_params, struct line *subckt_car } if (ciprefix(".para", curr_line)) { + prev_card->li_next = c->li_next; + if (first_param_card) last_param_card->li_next = c; else first_param_card = c; last_param_card = c; - prev_card->li_next = c->li_next; - c = c->li_next; last_param_card->li_next = NULL; + c = prev_card->li_next; continue; } @@ -3946,16 +3947,17 @@ inp_reorder_params(struct names *subckt_w_params, struct line *list_head) } if (ciprefix(".para", curr_line)) { + prev_card->li_next = c->li_next; + if (first_param_card) last_param_card->li_next = c; else first_param_card = c; last_param_card = c; - prev_card->li_next = c->li_next; - c = c->li_next; last_param_card->li_next = NULL; + c = prev_card->li_next; continue; }