From 04db3c62114c3cc6a822e9045fe989d26d374016 Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Thu, 15 Oct 2009 01:38:09 +0000 Subject: [PATCH] Sync OpenBSD patchset 399: Don't run through the column unchanged case if the row was unchanged but there were no suitable optimisations, instead make it an else to fall through to absolute addressing. --- tty.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tty.c b/tty.c index 3dd933ea..d82b117b 100644 --- a/tty.c +++ b/tty.c @@ -1,4 +1,4 @@ -/* $Id: tty.c,v 1.148 2009-10-15 01:36:53 tcunha Exp $ */ +/* $Id: tty.c,v 1.149 2009-10-15 01:38:09 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -973,8 +973,12 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy) goto out; } - /* Row staying the same. */ + /* Moving column or row. */ if (cy == thisy) { + /* + * Moving column only, row staying the same. + */ + /* To left edge. */ if (cx == 0) { tty_putc(tty, '\r'); @@ -1010,10 +1014,11 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy) tty_putcode1(tty, TTYC_CUF, -change); goto out; } - } + } else if (cx == thisx) { + /* + * Moving row only, column staying the same. + */ - /* Column staying the same. */ - if (cx == thisx ) { /* One above. */ if (cy != tty->rupper && cy == thisy - 1 && tty_term_has(term, TTYC_CUU1)) {