diff options
Diffstat (limited to 'contrib/nvi/vi/v_screen.c')
-rw-r--r-- | contrib/nvi/vi/v_screen.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/contrib/nvi/vi/v_screen.c b/contrib/nvi/vi/v_screen.c index 85cd1e32bca0..d7932a4e7b1a 100644 --- a/contrib/nvi/vi/v_screen.c +++ b/contrib/nvi/vi/v_screen.c @@ -10,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "@(#)v_screen.c 10.10 (Berkeley) 4/27/96"; +static const char sccsid[] = "$Id: v_screen.c,v 10.12 2001/06/25 15:19:34 skimo Exp $"; #endif /* not lint */ #include <sys/types.h> @@ -31,9 +31,7 @@ static const char sccsid[] = "@(#)v_screen.c 10.10 (Berkeley) 4/27/96"; * PUBLIC: int v_screen __P((SCR *, VICMD *)); */ int -v_screen(sp, vp) - SCR *sp; - VICMD *vp; +v_screen(SCR *sp, VICMD *vp) { /* * You can't leave a colon command-line edit window -- it's not that @@ -51,13 +49,13 @@ v_screen(sp, vp) * Try for the next lower screen, or, go back to the first * screen on the stack. */ - if (sp->q.cqe_next != (void *)&sp->gp->dq) - sp->nextdisp = sp->q.cqe_next; - else if (sp->gp->dq.cqh_first == sp) { + if (TAILQ_NEXT(sp, q) != NULL) + sp->nextdisp = TAILQ_NEXT(sp, q); + else if (TAILQ_FIRST(sp->gp->dq) == sp) { msgq(sp, M_ERR, "187|No other screen to switch to"); return (1); } else - sp->nextdisp = sp->gp->dq.cqh_first; + sp->nextdisp = TAILQ_FIRST(sp->gp->dq); F_SET(sp->nextdisp, SC_STATUS); F_SET(sp, SC_SSWITCH | SC_STATUS); |