$NetBSD: patch-an,v 1.1 2006/10/30 03:33:59 jlam Exp $ --- unix/serial.c.orig 2003-05-29 02:08:49.000000000 -0400 +++ unix/serial.c @@ -638,8 +638,8 @@ fsserial_lockfile (flok, qconn) char *zl; zl = zalc + sizeof LCK_TEMPLATE + clen - 2; - if (isupper (*zl)) - *zl = tolower (*zl); + if (isupper (BUCHAR (*zl))) + *zl = tolower (BUCHAR (*zl)); } #endif z = zalc; @@ -2540,7 +2540,7 @@ fsysdep_conn_read (qconn, zbuf, pclen, c else csleepchars = MAX_INPUT - 10; - isleep = (int) (((long) csleepchars * 10000L) / q->ibaud); + isleep = (int) (((long) csleepchars * 10000L) / (q->ibaud + 1)); isleep -= 10; if (isleep > 10) @@ -2956,8 +2956,8 @@ fsysdep_conn_io (qconn, zwrite, pcwrite, cwait = 1024; if (cwait > cread) cwait = cread; - stime.tv_sec = (cwait * 10) / q->ibaud; - stime.tv_usec = ((((cwait * 1000000) / q->ibaud) * 10) + stime.tv_sec = (cwait * 10) / (q->ibaud + 1); + stime.tv_usec = ((((cwait * 1000000) / (q->ibaud + 1)) * 10) % 1000000); } else @@ -3048,7 +3048,7 @@ fsysdep_conn_io (qconn, zwrite, pcwrite, that HAVE_RESTARTABLE_SYSCALLS is 0. */ usset_signal (SIGALRM, usalarm, TRUE, (boolean *) NULL); if (q->fterminal) - alarm ((int) ((long) 10240 / q->ibaud) + 1); + alarm ((int) ((long) 10240 / (q->ibaud + 1)) + 1); else alarm (1);