diff options
author | 1997-07-10 23:12:19 +0000 | |
---|---|---|
committer | 1997-07-10 23:12:19 +0000 | |
commit | 77339453d5decb250f840569cc2f0ecf3c890147 (patch) | |
tree | dc4109a807cf2cedec31c8beaa2f2dfdf545fff9 | |
parent | sync with NETBSD 30/3/97 + adapating aria.c (diff) | |
download | wireguard-openbsd-77339453d5decb250f840569cc2f0ecf3c890147.tar.xz wireguard-openbsd-77339453d5decb250f840569cc2f0ecf3c890147.zip |
add insert char capability (and no bickering about it being ANSI 8c{)]
-rw-r--r-- | sys/arch/alpha/wscons/wscons_emul.c | 22 | ||||
-rw-r--r-- | sys/dev/wscons/wscons_emul.c | 22 |
2 files changed, 42 insertions, 2 deletions
diff --git a/sys/arch/alpha/wscons/wscons_emul.c b/sys/arch/alpha/wscons/wscons_emul.c index 2da6f03048b..aafe9fb3d4b 100644 --- a/sys/arch/alpha/wscons/wscons_emul.c +++ b/sys/arch/alpha/wscons/wscons_emul.c @@ -1,4 +1,4 @@ -/* $OpenBSD: wscons_emul.c,v 1.5 1997/04/08 23:30:26 michaels Exp $ */ +/* $OpenBSD: wscons_emul.c,v 1.6 1997/07/10 23:12:19 kstailey Exp $ */ /* $NetBSD: wscons_emul.c,v 1.7 1996/11/19 05:23:13 cgd Exp $ */ /* @@ -347,6 +347,26 @@ wscons_emul_docontrol(we, c) break; } break; + case '@': /* Insert Char */ + { + int copy_src, copy_dst, copy_ncols; + + n = we->ac_args[0] ? we->ac_args[0] : 1; + n = min(n, we->ac_ncol - we->ac_ccol); + + copy_src = we->ac_ccol; + copy_dst = we->ac_ccol + n; + copy_ncols = we->ac_ncol - copy_src - 1; + if (copy_ncols > 0) + (*we->ac_ef->wef_copycols)(we->ac_efa, + we->ac_crow, copy_src, copy_dst, + copy_ncols); + + (*we->ac_ef->wef_erasecols)(we->ac_efa, + we->ac_crow, we->ac_ccol, + we->ac_ncol - (we->ac_ccol + copy_ncols)); + } + break; } } diff --git a/sys/dev/wscons/wscons_emul.c b/sys/dev/wscons/wscons_emul.c index 2da6f03048b..aafe9fb3d4b 100644 --- a/sys/dev/wscons/wscons_emul.c +++ b/sys/dev/wscons/wscons_emul.c @@ -1,4 +1,4 @@ -/* $OpenBSD: wscons_emul.c,v 1.5 1997/04/08 23:30:26 michaels Exp $ */ +/* $OpenBSD: wscons_emul.c,v 1.6 1997/07/10 23:12:19 kstailey Exp $ */ /* $NetBSD: wscons_emul.c,v 1.7 1996/11/19 05:23:13 cgd Exp $ */ /* @@ -347,6 +347,26 @@ wscons_emul_docontrol(we, c) break; } break; + case '@': /* Insert Char */ + { + int copy_src, copy_dst, copy_ncols; + + n = we->ac_args[0] ? we->ac_args[0] : 1; + n = min(n, we->ac_ncol - we->ac_ccol); + + copy_src = we->ac_ccol; + copy_dst = we->ac_ccol + n; + copy_ncols = we->ac_ncol - copy_src - 1; + if (copy_ncols > 0) + (*we->ac_ef->wef_copycols)(we->ac_efa, + we->ac_crow, copy_src, copy_dst, + copy_ncols); + + (*we->ac_ef->wef_erasecols)(we->ac_efa, + we->ac_crow, we->ac_ccol, + we->ac_ncol - (we->ac_ccol + copy_ncols)); + } + break; } } |