Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-3]: src/sys/dev/rcons Pull up following revision(s) (requested by...



details:   https://anonhg.NetBSD.org/src/rev/8e36f91699ca
branches:  netbsd-3
changeset: 577795:8e36f91699ca
user:      tron <tron%NetBSD.org@localhost>
date:      Mon Jan 30 22:38:51 2006 +0000

description:
Pull up following revision(s) (requested by chs in ticket #1148):
        sys/dev/rcons/rcons_subr.c: revision 1.16
avoid checking if an unsigned number is less than 0.  fixes PR 29948.

diffstat:

 sys/dev/rcons/rcons_subr.c |  33 +++++++++++++--------------------
 1 files changed, 13 insertions(+), 20 deletions(-)

diffs (75 lines):

diff -r 6d5dece06f79 -r 8e36f91699ca sys/dev/rcons/rcons_subr.c
--- a/sys/dev/rcons/rcons_subr.c        Mon Jan 30 22:36:44 2006 +0000
+++ b/sys/dev/rcons/rcons_subr.c        Mon Jan 30 22:38:51 2006 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rcons_subr.c,v 1.13 2005/02/27 00:27:48 perry Exp $ */
+/*     $NetBSD: rcons_subr.c,v 1.13.2.1 2006/01/30 22:38:51 tron Exp $ */
 
 /*
  * Copyright (c) 1991, 1993
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rcons_subr.c,v 1.13 2005/02/27 00:27:48 perry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rcons_subr.c,v 1.13.2.1 2006/01/30 22:38:51 tron Exp $");
 
 #include <sys/param.h>
 #ifdef _KERNEL
@@ -335,8 +335,9 @@
 
        case 'A':
                /* Cursor Up (CUU) */
-               rc->rc_row -= rc->rc_p0;
-               if (rc->rc_row < 0)
+               if (rc->rc_row >= rc->rc_p0)
+                       rc->rc_row -= rc->rc_p0;
+               else
                        rc->rc_row = 0;
                break;
 
@@ -356,8 +357,9 @@
 
        case 'D':
                /* Cursor Backward (CUB) */
-               rc->rc_col -= rc->rc_p0;
-               if (rc->rc_col < 0)
+               if (rc->rc_col >= rc->rc_p0)
+                       rc->rc_col -= rc->rc_p0;
+               else
                        rc->rc_col = 0;
                break;
 
@@ -373,17 +375,8 @@
                /* Horizontal And Vertical Position (HVP) */
        case 'H':
                /* Cursor Position (CUP) */
-               rc->rc_col = rc->rc_p1 - 1;
-               if (rc->rc_col < 0)
-                       rc->rc_col = 0;
-               else if (rc->rc_col >= rc->rc_maxcol)
-                       rc->rc_col = rc->rc_maxcol - 1;
-
-               rc->rc_row = rc->rc_p0 - 1;
-               if (rc->rc_row < 0)
-                       rc->rc_row = 0;
-               else if (rc->rc_row >= rc->rc_maxrow)
-                       rc->rc_row = rc->rc_maxrow - 1;
+               rc->rc_col = MIN(MAX(rc->rc_p1, 1), rc->rc_maxcol) - 1;
+               rc->rc_row = MIN(MAX(rc->rc_p0, 1), rc->rc_maxrow) - 1;
                break;
 
        case 'J':
@@ -617,9 +610,9 @@
                n = rc->rc_maxrow;
 
        /* Calculate new row */
-       rc->rc_row -= n;
-
-       if (rc->rc_row < 0)
+       if (rc->rc_row >= n)
+               rc->rc_row -= n;
+       else 
                rc->rc_row = 0;
 
        rc->rc_ops->copyrows(rc->rc_cookie, n, 0, rc->rc_maxrow - n);



Home | Main Index | Thread Index | Old Index