summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1994-10-06 20:32:08 +0000
committerache <ache@FreeBSD.org>1994-10-06 20:32:08 +0000
commit35628d8e32b89fb7ddf13999d5e7b48315437b64 (patch)
treedb41c30dfc2ed0a050a6be2cd852f13379cc5eef
parent52abae43776d64498863715f55944ad7e31b48f3 (diff)
downloadFreeBSD-src-35628d8e32b89fb7ddf13999d5e7b48315437b64.zip
FreeBSD-src-35628d8e32b89fb7ddf13999d5e7b48315437b64.tar.gz
Change padding mechanism to use usleep, old variant not works
on terminals with no pad char (cons25) and quote from tputs.c says so too: ! * Too bad there are no user program accessible programmed delays. ! * Transmitting pad characters slows many ! * terminals down and also loads the system.
-rw-r--r--lib/libtermcap/tputs.c32
1 files changed, 5 insertions, 27 deletions
diff --git a/lib/libtermcap/tputs.c b/lib/libtermcap/tputs.c
index 857147d..3d6027f 100644
--- a/lib/libtermcap/tputs.c
+++ b/lib/libtermcap/tputs.c
@@ -37,19 +37,10 @@ static char sccsid[] = "@(#)tputs.c 8.1 (Berkeley) 6/4/93";
#include <sgtty.h>
#include <ctype.h>
+#include <unistd.h>
-/*
- * The following array gives the number of tens of milliseconds per
- * character for each speed as returned by gtty. Thus since 300
- * baud returns a 7, there are 33.3 milliseconds per char at 300 baud.
- */
-static
-short tmspc10[] = {
- 0, 2000, 1333, 909, 743, 666, 500, 333, 166, 83, 55, 41, 20, 10, 5
-};
-
-short ospeed;
-char PC;
+short ospeed; /* not needed, only for compatibility */
+char PC; /* not needed, only for compatibility */
/*
* Put the character string cp out, with padding.
@@ -101,23 +92,10 @@ tputs(cp, affcnt, outc)
(*outc)(*cp++);
/*
- * If no delay needed, or output speed is
- * not comprehensible, then don't try to delay.
+ * If no delay needed, then don't try to delay.
*/
if (i == 0)
return;
- if (ospeed <= 0 || ospeed >= (sizeof tmspc10 / sizeof tmspc10[0]))
- return;
- /*
- * Round up by a half a character frame,
- * and then do the delay.
- * Too bad there are no user program accessible programmed delays.
- * Transmitting pad characters slows many
- * terminals down and also loads the system.
- */
- mspc10 = tmspc10[ospeed];
- i += mspc10 / 2;
- for (i /= mspc10; i > 0; i--)
- (*outc)(PC);
+ usleep((u_int) i * 100); /* already * 10 */
}
OpenPOWER on IntegriCloud