aboutsummaryrefslogtreecommitdiff
path: root/chinese/big5con
diff options
context:
space:
mode:
Diffstat (limited to 'chinese/big5con')
-rw-r--r--chinese/big5con/Makefile6
-rw-r--r--chinese/big5con/files/patch-af37
-rw-r--r--chinese/big5con/files/patch-ag22
-rw-r--r--chinese/big5con/files/patch-ai11
-rw-r--r--chinese/big5con/files/patch-big5con.cfg11
-rw-r--r--chinese/big5con/files/patch-big5con.mk11
-rw-r--r--chinese/big5con/files/patch-fld::fld.c (renamed from chinese/big5con/files/patch-ah)22
-rw-r--r--chinese/big5con/files/patch-include::mem.h (renamed from chinese/big5con/files/patch-ac)0
-rw-r--r--chinese/big5con/files/patch-include::vga.h (renamed from chinese/big5con/files/patch-ab)0
-rw-r--r--chinese/big5con/files/patch-lib::font.c18
-rw-r--r--chinese/big5con/files/patch-lib::mem.c (renamed from chinese/big5con/files/patch-ad)0
-rw-r--r--chinese/big5con/files/patch-src::child.c42
-rw-r--r--chinese/big5con/files/patch-src::main.c (renamed from chinese/big5con/files/patch-ae)0
-rw-r--r--chinese/big5con/files/patch-src::mouse.c12
-rw-r--r--chinese/big5con/files/patch-src::term.c11
-rw-r--r--chinese/big5con/files/patch-src::vc.c175
-rw-r--r--chinese/big5con/files/patch-src::vga.c (renamed from chinese/big5con/files/patch-aa)44
17 files changed, 326 insertions, 96 deletions
diff --git a/chinese/big5con/Makefile b/chinese/big5con/Makefile
index e940f4e869fd..892326bf85c6 100644
--- a/chinese/big5con/Makefile
+++ b/chinese/big5con/Makefile
@@ -19,6 +19,7 @@ ONLY_FOR_ARCHS= i386
EXTRACT_ONLY= ${DISTNAME}.tgz
USE_REINPLACE= yes
+REINPLACE_ARGS= # empty
# With the help from pa@freebsd.ee.ntu.edu.tw
# +0.92d use kc-fonts, whcih can be included in cdrom, instead of taipei-fonts.
@@ -31,7 +32,10 @@ USE_REINPLACE= yes
.include <bsd.port.pre.mk>
post-patch:
.if ${OSVERSION} > 500012
- @${REINPLACE_CMD} -e 's,machine/console.h>,sys/consio.h>\n#include\t<sys/kbio.h>\n,' ${WRKSRC}/include/* ${WRKSRC}/src/*
+.for i in include/ksymdef.h src/term.c src/vc.c src/vga.c
+ @${REINPLACE_CMD} 's,machine/console.h>,sys/consio.h>@#include <sys/kbio.h>@,' ${WRKSRC}/${i} | tr '@' '\n' > ${WRKSRC}/${i}.bak && \
+ ${MV} ${WRKSRC}/${i}.bak ${WRKSRC}/${i}
+.endfor
.endif
pre-install:
@if [ ! -f ${PREFIX}/lib/fonts/kc16.smf ]; then \
diff --git a/chinese/big5con/files/patch-af b/chinese/big5con/files/patch-af
deleted file mode 100644
index 4e38a264b1e1..000000000000
--- a/chinese/big5con/files/patch-af
+++ /dev/null
@@ -1,37 +0,0 @@
---- src/vc.c.orig Mon Apr 15 09:46:27 1996
-+++ src/vc.c Sat Jun 10 19:40:19 2000
-@@ -92,28 +92,26 @@
- inline void blatch(void *head, int n)
- {
-
-- __asm__("\t clc\n"
-+ __asm__ volatile("\t clc\n"
- "1:\n"
- "\t andb %%bl, (%%eax)\n"
- "\t incl %%eax\n"
- "\t loop 1b\n"
-- :
-- : "eax" ((long)head), "bl" (0x7F), "c" (n)
-- : "bl", "cx" );
-+ : "=bl" (head), "=c" (n)
-+ : "eax" ((long)head), "0" (0x7F), "1" (n));
- }
-
- static
- inline void llatch(void *head, int n)
- {
-
-- __asm__("\t clc\n"
-+ __asm__ volatile ("\t clc\n"
- "1:\n"
- "\t andl %%ebx, (%%eax)\n"
- "\t addl $4, %%eax\n"
- "\t loop 1b\n"
-- :
-- : "eax" ((long)head), "ebx" (0x7F7F7F7F), "c" (n>>2)
-- : "ebx", "cx" );
-+ : "=ebx" (head), "=c" (n)
-+ : "eax" ((long)head), "0" (0x7F7F7F7F), "1" (n>>2));
- }
-
- static inline u_int TextAddress(u_int x, u_int y)
diff --git a/chinese/big5con/files/patch-ag b/chinese/big5con/files/patch-ag
deleted file mode 100644
index ef2ac150c1ab..000000000000
--- a/chinese/big5con/files/patch-ag
+++ /dev/null
@@ -1,22 +0,0 @@
---- big5con.cfg.orig Sun Apr 2 18:43:27 2000
-+++ big5con.cfg Sun Apr 2 18:43:42 2000
-@@ -157,7 +157,7 @@
- 1200
- # Mouse device file name
- MouseDev:
-- /dev/mouse
-+ /dev/sysmouse
-
- # Use hard scroll
- HardScroll:
---- big5con.mk.orig Sun Apr 2 18:43:25 2000
-+++ big5con.mk Sun Apr 2 18:43:35 2000
-@@ -29,7 +29,7 @@
- -DXCIN_DIR=\"$(XCIN_DIR)\" $(ALT_META) $(EXTRA_OPTS)
- CC = gcc
- #CFLAGS = -O2 -m486 $(OPTS)
--CFLAGS += -O2 $(OPTS)
-+CFLAGS += $(OPTS)
- LD = gcc $(CFLAGS)
- RM = rm -f
- INSTALL = install -c
diff --git a/chinese/big5con/files/patch-ai b/chinese/big5con/files/patch-ai
deleted file mode 100644
index 95a9e1e89dcd..000000000000
--- a/chinese/big5con/files/patch-ai
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/child.c.orig Fri Jun 22 23:14:24 2001
-+++ src/child.c Sat Jun 23 00:48:55 2001
-@@ -106,7 +106,7 @@
- #if defined(linux)
- *(ttyname(fileno(errfp))+8));
- #elif defined(__FreeBSD__)
-- *(ttyname(fileno(errfp))+9));
-+ ttyname(fileno(errfp)) ? *(ttyname(fileno(errfp))+9) : '?');
- #endif
- fflush(stdout);
-
diff --git a/chinese/big5con/files/patch-big5con.cfg b/chinese/big5con/files/patch-big5con.cfg
new file mode 100644
index 000000000000..10adfb54cfb5
--- /dev/null
+++ b/chinese/big5con/files/patch-big5con.cfg
@@ -0,0 +1,11 @@
+--- big5con.cfg.orig Thu Oct 8 13:07:27 1998
++++ big5con.cfg Tue Nov 26 11:45:51 2002
+@@ -157,7 +157,7 @@
+ 1200
+ # Mouse device file name
+ MouseDev:
+- /dev/mouse
++ /dev/sysmouse
+
+ # Use hard scroll
+ HardScroll:
diff --git a/chinese/big5con/files/patch-big5con.mk b/chinese/big5con/files/patch-big5con.mk
new file mode 100644
index 000000000000..4dbbdd02fa07
--- /dev/null
+++ b/chinese/big5con/files/patch-big5con.mk
@@ -0,0 +1,11 @@
+--- big5con.mk.orig Thu Oct 8 13:09:50 1998
++++ big5con.mk Tue Nov 26 11:45:51 2002
+@@ -29,7 +29,7 @@
+ -DXCIN_DIR=\"$(XCIN_DIR)\" $(ALT_META) $(EXTRA_OPTS)
+ CC = gcc
+ #CFLAGS = -O2 -m486 $(OPTS)
+-CFLAGS += -O2 $(OPTS)
++CFLAGS += $(OPTS)
+ LD = gcc $(CFLAGS)
+ RM = rm -f
+ INSTALL = install -c
diff --git a/chinese/big5con/files/patch-ah b/chinese/big5con/files/patch-fld::fld.c
index b049757fdb56..8c89d4858496 100644
--- a/chinese/big5con/files/patch-ah
+++ b/chinese/big5con/files/patch-fld::fld.c
@@ -1,23 +1,5 @@
---- lib/font.c.orig Sun Apr 2 18:56:50 2000
-+++ lib/font.c Sun Apr 2 18:57:54 2000
-@@ -35,6 +35,7 @@
- struct shmid_ds shmseg;
-
- shmkey = ftok(CONFIG_NAME, fnum);
-+ shmkey = 5000 + (fnum & 0x7F);
- if ((shmid = shmget(shmkey, sizeof(struct fontInfo), 0444)) < 0)
- return;
- shmctl(shmid, IPC_STAT, &shmseg);
-@@ -50,6 +51,7 @@
- int shmid;
-
- shmkey = ftok(CONFIG_NAME, fnum);
-+ shmkey = 5000 + (fnum & 0x7F);
- if ((shmid = shmget(shmkey, sizeof(struct fontInfo), 0444)) < 0) return(0);
- return((u_char*)shmat(shmid, 0, SHM_RDONLY));
- }
---- fld/fld.c.orig Sun Apr 2 18:59:37 2000
-+++ fld/fld.c Sun Apr 2 19:01:18 2000
+--- fld/fld.c.orig Wed May 20 17:49:32 1998
++++ fld/fld.c Tue Nov 26 11:45:51 2002
@@ -55,7 +55,7 @@
int shmid;
struct shmid_ds shmseg;
diff --git a/chinese/big5con/files/patch-ac b/chinese/big5con/files/patch-include::mem.h
index 45875f9e1d6c..45875f9e1d6c 100644
--- a/chinese/big5con/files/patch-ac
+++ b/chinese/big5con/files/patch-include::mem.h
diff --git a/chinese/big5con/files/patch-ab b/chinese/big5con/files/patch-include::vga.h
index 89c19f5d9b1c..89c19f5d9b1c 100644
--- a/chinese/big5con/files/patch-ab
+++ b/chinese/big5con/files/patch-include::vga.h
diff --git a/chinese/big5con/files/patch-lib::font.c b/chinese/big5con/files/patch-lib::font.c
new file mode 100644
index 000000000000..a6732c698cdd
--- /dev/null
+++ b/chinese/big5con/files/patch-lib::font.c
@@ -0,0 +1,18 @@
+--- lib/font.c.orig Sun Apr 14 16:40:36 1996
++++ lib/font.c Tue Nov 26 11:45:51 2002
+@@ -35,6 +35,7 @@
+ struct shmid_ds shmseg;
+
+ shmkey = ftok(CONFIG_NAME, fnum);
++ shmkey = 5000 + (fnum & 0x7F);
+ if ((shmid = shmget(shmkey, sizeof(struct fontInfo), 0444)) < 0)
+ return;
+ shmctl(shmid, IPC_STAT, &shmseg);
+@@ -50,6 +51,7 @@
+ int shmid;
+
+ shmkey = ftok(CONFIG_NAME, fnum);
++ shmkey = 5000 + (fnum & 0x7F);
+ if ((shmid = shmget(shmkey, sizeof(struct fontInfo), 0444)) < 0) return(0);
+ return((u_char*)shmat(shmid, 0, SHM_RDONLY));
+ }
diff --git a/chinese/big5con/files/patch-ad b/chinese/big5con/files/patch-lib::mem.c
index 54092a895f0c..54092a895f0c 100644
--- a/chinese/big5con/files/patch-ad
+++ b/chinese/big5con/files/patch-lib::mem.c
diff --git a/chinese/big5con/files/patch-src::child.c b/chinese/big5con/files/patch-src::child.c
new file mode 100644
index 000000000000..d822143aa1ad
--- /dev/null
+++ b/chinese/big5con/files/patch-src::child.c
@@ -0,0 +1,42 @@
+--- src/child.c.orig Mon Apr 15 09:47:23 1996
++++ src/child.c Tue Nov 26 11:29:49 2002
+@@ -22,6 +22,7 @@
+ #include <unistd.h>
+ #ifdef __FreeBSD__
+ #include <errno.h>
++#include <sys/ioctl.h>
+ #endif
+
+ #include <getcap.h>
+@@ -77,6 +78,9 @@
+ {
+ char *shell, *tail, *tcap;
+ char buff[80];
++#if defined(__FreeBSD__)
++ struct winsize win;
++#endif
+
+ setgid(getgid());
+ setuid(getuid());
+@@ -87,7 +91,11 @@
+ sprintf(buff, "TERMCAP=:co#%d:li#%d:tc=console:",
+ dInfo.txmax + 1, dInfo.tymax + 1);
+ #elif defined(__FreeBSD__)
+- sprintf(buff,"TERM=vt100");
++ win.ws_row = dInfo.tymax + 1;
++ win.ws_col = dInfo.txmax + 1;
++ win.ws_xpixel = win.ws_ypixel = 0;
++ ioctl(STDIN_FILENO, TIOCSWINSZ, &win);
++ sprintf(buff,"TERM=vt100");
+ #endif
+ tcap = strdup(buff);
+ putenv(tcap);
+@@ -106,7 +114,7 @@
+ #if defined(linux)
+ *(ttyname(fileno(errfp))+8));
+ #elif defined(__FreeBSD__)
+- *(ttyname(fileno(errfp))+9));
++ ttyname(fileno(errfp)) ? *(ttyname(fileno(errfp))+9) : '?');
+ #endif
+ fflush(stdout);
+
diff --git a/chinese/big5con/files/patch-ae b/chinese/big5con/files/patch-src::main.c
index 9c5a0eb654ea..9c5a0eb654ea 100644
--- a/chinese/big5con/files/patch-ae
+++ b/chinese/big5con/files/patch-src::main.c
diff --git a/chinese/big5con/files/patch-src::mouse.c b/chinese/big5con/files/patch-src::mouse.c
new file mode 100644
index 000000000000..8b2bcabd1fd4
--- /dev/null
+++ b/chinese/big5con/files/patch-src::mouse.c
@@ -0,0 +1,12 @@
+--- src/mouse.c.orig Sun Apr 14 16:40:40 1996
++++ src/mouse.c Tue Nov 26 11:41:05 2002
+@@ -167,7 +167,8 @@
+
+ mouseType = MOUSE_NONE;
+ mInfo.has_mouse = FALSE;
+- sscanf(config, "%s", name);
++ strncpy(name, config, MAX_COLS - 1);
++ name[MAX_COLS - 1] = '\0';
+ for (p = mice; p->name != NULL; p++) {
+ if (strcasecmp(name, p->name) == 0) {
+ mouseType = p->type;
diff --git a/chinese/big5con/files/patch-src::term.c b/chinese/big5con/files/patch-src::term.c
new file mode 100644
index 000000000000..faa154df2079
--- /dev/null
+++ b/chinese/big5con/files/patch-src::term.c
@@ -0,0 +1,11 @@
+--- src/term.c.orig Mon Apr 15 09:46:48 1996
++++ src/term.c Tue Nov 26 11:45:26 2002
+@@ -205,7 +205,7 @@
+ PollCursor(TRUE);
+ }
+ if (FD_ISSET(sockFd, &readFds)) SocketInterface(sockFd);
+- if (mInfo.has_mouse) {
++ if (mInfo.has_mouse && mouseFd > 0) {
+ if (FD_ISSET(mouseFd, &readFds) && con.active) {
+ i = read(mouseFd, buff, BUFSIZ);
+ if (i > 0) MouseGetPacket(buff, i);
diff --git a/chinese/big5con/files/patch-src::vc.c b/chinese/big5con/files/patch-src::vc.c
new file mode 100644
index 000000000000..c259b1d0d763
--- /dev/null
+++ b/chinese/big5con/files/patch-src::vc.c
@@ -0,0 +1,175 @@
+--- src/vc.c.orig Mon Apr 15 09:46:27 1996
++++ src/vc.c Tue Nov 26 12:02:07 2002
+@@ -1,8 +1,10 @@
+ /*
+ KON - Kanji ON Linux Console -
+ Copyright (C) 1992, 1993
+- MAEDA Atusi (mad@math.keio.ac.jp)
+- Takashi MANABE (manabe@tut.ac.jp)
++ MAEDA Atusi (mad
++math.keio.ac.jp)
++ Takashi MANABE (manabe
++tut.ac.jp)
+
+ KON is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+@@ -19,7 +21,8 @@
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ /*
+- modified for Big5Con by Hung-Chi Chu <hcchu@r350.ee.ntu.edu.tw>
++ modified for Big5Con by Hung-Chi Chu <hcchu
++r350.ee.ntu.edu.tw>
+ */
+
+ #include <stdio.h>
+@@ -35,7 +38,16 @@
+ #include <termio.h>
+ #elif defined(__FreeBSD__)
+ #include <termios.h>
+-#include <machine/console.h>
++#include <osreldate.h>
++#if __FreeBSD_version >= 410000
++#include <sys/consio.h>
++#include <sys/kbio.h>
++#else
++#include <sys/consio.h>
++#include <sys/kbio.h>
++
++#endif
++
+ #endif
+ #include <sys/ioctl.h>
+ #ifdef linux
+@@ -92,28 +104,26 @@
+ inline void blatch(void *head, int n)
+ {
+
+- __asm__("\t clc\n"
++ __asm__ volatile("\t clc\n"
+ "1:\n"
+ "\t andb %%bl, (%%eax)\n"
+ "\t incl %%eax\n"
+ "\t loop 1b\n"
+- :
+- : "eax" ((long)head), "bl" (0x7F), "c" (n)
+- : "bl", "cx" );
++ : "=bl" (head), "=c" (n)
++ : "eax" ((long)head), "0" (0x7F), "1" (n));
+ }
+
+ static
+ inline void llatch(void *head, int n)
+ {
+
+- __asm__("\t clc\n"
++ __asm__ volatile ("\t clc\n"
+ "1:\n"
+ "\t andl %%ebx, (%%eax)\n"
+ "\t addl $4, %%eax\n"
+ "\t loop 1b\n"
+- :
+- : "eax" ((long)head), "ebx" (0x7F7F7F7F), "c" (n>>2)
+- : "ebx", "cx" );
++ : "=ebx" (head), "=c" (n)
++ : "eax" ((long)head), "0" (0x7F7F7F7F), "1" (n>>2));
+ }
+
+ static inline u_int TextAddress(u_int x, u_int y)
+@@ -254,13 +264,23 @@
+ struct vt_mode vtm;
+
+ ioctl(0,KDSKBMODE,K_XLATE);
++#if defined(__FreeBSD__)
++ signal(SIGUSR1, SIG_IGN);
++ signal(SIGUSR2, SIG_IGN);
++#else /* linux */
+ signal(SIGUSR1, SIG_DFL);
+ signal(SIGUSR2, SIG_DFL);
++#endif
+ vtm.mode = VT_AUTO;
+ vtm.waitv = 0;
++#if defined(__FreeBSD__)
++ vtm.relsig = SIGUSR1;
++ vtm.acqsig = SIGUSR2;
++ vtm.frsig = SIGUSR1;
++#else /* linux */
+ vtm.relsig = 0;
+ vtm.acqsig = 0;
+- vtm.frsig = 0;
++#endif
+ ioctl(0, VT_SETMODE, &vtm);
+ #if defined(__FreeBSD__)
+ ioctl(0, VT_RELDISP, 1);
+@@ -287,13 +307,15 @@
+ vtm.waitv = 0;
+ vtm.relsig = SIGUSR1;
+ vtm.acqsig = SIGUSR2;
+- vtm.frsig = SIGUSR1; /* not implemented, just a hack */
++#if defined(__FreeBSD__)
++ vtm.frsig = SIGUSR1;
++#endif
+ ioctl(0, VT_SETMODE, &vtm);
+ vInfo.graph_mode();
+ if (useHardScroll)
+ vInfo.set_start_address();
+
+- win.ws_row = dInfo.tymax; /* Note: con.ymax may be changed by application */
++ win.ws_row = dInfo.tymax + 1; /* Note: con.ymax may be changed by application */
+ win.ws_col = dInfo.txmax + 1;
+ win.ws_xpixel = win.ws_ypixel = 0;
+ ioctl(masterPty, TIOCSWINSZ, &win);
+@@ -821,44 +843,30 @@
+
+ static int ConfigBeep(const char *confstr)
+ {
+- beepCount = atoi(confstr) * 10000;
+ #if defined(linux)
++ beepCount = atoi(confstr) * 10000;
+ ioperm(COUNTER_ADDR, 1, TRUE);
+ #endif
++#if defined(__FreeBSD__)
++ beepCount = atoi(confstr) * 10;
++#endif
+ return SUCCESS;
+ }
+
+-/*
+- * Sound() added by woju.bbs@freebsd.ee.ntu.edu.tw
+- */
+-static void Sound(int freq, int ms)
+-{
+- PortOutb(182, 0x43);
+- PortOutb((100000 / freq) & 0xff, 0x42);
+- PortOutb((100000 / freq) >> 8, 0x42);
+- PortOutb(PortInb(0x61) | 3, 0x61);
+- usleep(ms * 1000);
+- PortOutb(PortInb(0x61) &0xfc, 0x61);
+-}
+-
+-static void Bell()
+-{
+- int i;
+-
+- for (i = 1; i <= 5; i++)
+- Sound(i * 100, 10);
+-}
++#define BELL_PITCH 800
+
+ void Beep(void)
+ {
+- if (!con.active) return;
+ #ifdef linux
++ if (!con.active) return;
+ PortOutb(PortInb(COUNTER_ADDR)|3, COUNTER_ADDR);
+ usleep(beepCount);
+ PortOutb(PortInb(COUNTER_ADDR)&0xFC, COUNTER_ADDR);
+ #endif
+ #ifdef __FreeBSD__
+- Bell();
++ if(beepCount <= 0) return;
++ ioctl(fileno(stdout), KDMKTONE, (BELL_PITCH & 0xffff) |
++ ((beepCount & 0xffff) << 16));
+ #endif
+ }
+
diff --git a/chinese/big5con/files/patch-aa b/chinese/big5con/files/patch-src::vga.c
index 073ba398b692..84fa767ecd30 100644
--- a/chinese/big5con/files/patch-aa
+++ b/chinese/big5con/files/patch-src::vga.c
@@ -1,6 +1,40 @@
--- src/vga.c.orig Sun Apr 14 16:40:40 1996
-+++ src/vga.c Sun Apr 2 19:03:41 2000
-@@ -205,7 +205,8 @@
++++ src/vga.c Tue Nov 26 11:38:34 2002
+@@ -1,6 +1,7 @@
+ /*
+ KON - Kanji ON Linux Console -
+- Copyright (C) 1992, 1993, 1994 Takashi MANABE (manabe@tut.ac.jp)
++ Copyright (C) 1992, 1993, 1994 Takashi MANABE (manabe
++tut.ac.jp)
+
+ KON is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+@@ -20,7 +21,8 @@
+ /*
+ This code is based on vgalib.
+
+- Thanks to frandsen@diku.dk (Tommy Frandsen).
++ Thanks to frandsen
++diku.dk (Tommy Frandsen).
+ */
+
+ #include <stdio.h>
+@@ -35,7 +37,14 @@
+ #elif defined(__FreeBSD__)
+ #include <vm/vm_param.h>
+ #include <sys/ioctl.h>
++#include <osreldate.h>
++#if __FreeBSD_version > 410000
++#include <sys/consio.h>
++#include <sys/kbio.h>
++#else
+ #include <machine/console.h>
++#endif
++
+ vm_size_t page_size;
+ #endif
+ #undef free
+@@ -205,7 +214,8 @@
regText.seq[i] = PortInb(VGASEQ_DATA);
}
regText.mis = PortInb(VGAMISC_IN);
@@ -10,7 +44,7 @@
VgaSetRegisters(&regGraph);
/* save font data in plane 2 */
-@@ -369,7 +370,7 @@
+@@ -369,7 +379,7 @@
/* if (!code) return;*/
VgaSetColor(fc);
if (bc & 0x8) *(vcls - dInfo.glineByte) = 0;
@@ -19,7 +53,7 @@
if (*code) {
VgaOutByte(*code);
*gram = *gram;
-@@ -437,7 +438,7 @@
+@@ -437,7 +447,7 @@
void VgaCursor(struct cursorInfo *ci)
{
@@ -28,7 +62,7 @@
u_char x;
int bottom = cursorBtm + 1 <= dInfo.glineChar ?
cursorBtm + 1 : dInfo.glineChar;
-@@ -607,7 +608,11 @@
+@@ -607,7 +617,11 @@
Perror("ioctl CONSOLE_IO_ENABLE");
return FAILURE;
}