View | Details | Raw Unified | Return to bug 182463
Collapse All | Expand All

(-)b/cl/cl_term.c (-4 / +7 lines)
Lines 187-200 cl_term_init(SCR *sp) Link Here
187
int
187
int
188
cl_term_end(GS *gp)
188
cl_term_end(GS *gp)
189
{
189
{
190
	SEQ *qp, *nqp;
190
	SEQ *qp, *nqp, *pre_qp = NULL;
191
191
192
	/* Delete screen specific mappings. */
192
	/* Delete screen specific mappings. */
193
	SLIST_FOREACH_SAFE(qp, gp->seqq, q, nqp)
193
	SLIST_FOREACH_SAFE(qp, gp->seqq, q, nqp)
194
		if (F_ISSET(qp, SEQ_SCREEN)) {
194
		if (F_ISSET(qp, SEQ_SCREEN)) {
195
			SLIST_REMOVE_HEAD(gp->seqq, q);
195
			if (qp == SLIST_FIRST(gp->seqq))
196
				SLIST_REMOVE_HEAD(gp->seqq, q);
197
			else
198
				SLIST_REMOVE_AFTER(pre_qp, q);
196
			(void)seq_free(qp);
199
			(void)seq_free(qp);
197
		}
200
		} else
201
			pre_qp = qp;
198
	return (0);
202
	return (0);
199
}
203
}
200
204
201
- 

Return to bug 182463