summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkstailey <kstailey@openbsd.org>1997-07-10 23:12:19 +0000
committerkstailey <kstailey@openbsd.org>1997-07-10 23:12:19 +0000
commit77339453d5decb250f840569cc2f0ecf3c890147 (patch)
treedc4109a807cf2cedec31c8beaa2f2dfdf545fff9
parentsync with NETBSD 30/3/97 + adapating aria.c (diff)
downloadwireguard-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.c22
-rw-r--r--sys/dev/wscons/wscons_emul.c22
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;
}
}