aboutsummaryrefslogtreecommitdiff
path: root/chinese/ve
diff options
context:
space:
mode:
authorChin-San Huang <chinsan@FreeBSD.org>2008-05-01 14:08:18 +0000
committerChin-San Huang <chinsan@FreeBSD.org>2008-05-01 14:08:18 +0000
commit85c698ac64587066e0918404962f759071620850 (patch)
tree71adfd915d8e257f76a33dbe4f5a0b9edd5ab581 /chinese/ve
parent6127a9dda0e2697060adec2ea7fa3fd38b44dbd6 (diff)
downloadports-85c698ac64587066e0918404962f759071620850.tar.gz
ports-85c698ac64587066e0918404962f759071620850.zip
- Use termios instead of sgtty.
PR: ports/119115, ports/122889 Submitted by: Ed Schouten <ed@80386 dot nl>
Notes
Notes: svn path=/head/; revision=212423
Diffstat (limited to 'chinese/ve')
-rw-r--r--chinese/ve/Makefile1
-rw-r--r--chinese/ve/files/patch-bbs.h17
-rw-r--r--chinese/ve/files/patch-term.c95
3 files changed, 113 insertions, 0 deletions
diff --git a/chinese/ve/Makefile b/chinese/ve/Makefile
index 5d129b4a5aee..ef5c255ac9c0 100644
--- a/chinese/ve/Makefile
+++ b/chinese/ve/Makefile
@@ -7,6 +7,7 @@
PORTNAME= ve
PORTVERSION= 1.0
+PORTREVISION= 1
CATEGORIES= chinese
MASTER_SITES= LOCAL/chinsan
EXTRACT_SUFX= .tgz
diff --git a/chinese/ve/files/patch-bbs.h b/chinese/ve/files/patch-bbs.h
new file mode 100644
index 000000000000..b4bb4fcc98fb
--- /dev/null
+++ b/chinese/ve/files/patch-bbs.h
@@ -0,0 +1,17 @@
+--- bbs.h.orig 2008-05-01 19:32:07.000000000 +0800
++++ bbs.h 2008-05-01 19:45:36.000000000 +0800
+@@ -25,14 +25,6 @@
+ #include <sys/stat.h>
+ #include <sys/file.h>
+
+-
+-#ifdef LINUX
+-#include <bsd/sgtty.h>
+-#else
+-#include <sgtty.h>
+-#endif
+-
+-
+ #ifdef SYSV
+
+ #ifndef LOCK_EX
diff --git a/chinese/ve/files/patch-term.c b/chinese/ve/files/patch-term.c
new file mode 100644
index 000000000000..7d915c6dfb45
--- /dev/null
+++ b/chinese/ve/files/patch-term.c
@@ -0,0 +1,95 @@
+--- term.c.orig 2008-05-01 19:34:15.000000000 +0800
++++ term.c 2008-05-01 19:44:06.000000000 +0800
+@@ -9,17 +9,16 @@
+
+ #include "bbs.h"
+ #include <sys/ioctl.h>
++#include <stdlib.h>
+
+ #ifdef HP_UX
+ #define O_HUPCL 01
+ #define O_XTABS 02
+ #endif
+
+-#ifdef LINUX
+-#include <linux/termios.h>
+-#define stty(fd, data) tcsetattr( fd, TCSETS, data )
++#include <termios.h>
++#define stty(fd, data) tcsetattr( fd, TCSANOW, data )
+ #define gtty(fd, data) tcgetattr( fd, data )
+-#endif
+
+ #ifndef TANDEM
+ #define TANDEM 0x00000001
+@@ -29,11 +28,7 @@
+ #define CBREAK 0x00000002
+ #endif
+
+-#ifdef LINUX
+ struct termios tty_state, tty_new;
+-#else
+-struct sgttyb tty_state, tty_new;
+-#endif
+
+
+ /* ----------------------------------------------------- */
+@@ -62,37 +57,11 @@
+ }
+ memcpy(&tty_new, &tty_state, sizeof(tty_new));
+
+-#ifdef LINUX
+-
+- tty_new.c_lflag &= ~(ICANON | ECHO | RAW | ISIG);
+- tcsetattr(1, TCSANOW, &tty_new);
++ tty_new.c_lflag &= ~(ICANON | ECHO | ISIG);
+ restore_tty();
+-
+-#else
+-
+- tty_new.sg_flags |= RAW;
+-
+-#ifdef HP_UX
+- tty_new.sg_flags &= ~(O_HUPCL | O_XTABS | LCASE | ECHO | CRMOD);
+-#else
+- tty_new.sg_flags &= ~(TANDEM | CBREAK | LCASE | ECHO | CRMOD);
+-#endif
+-
+- stty(1, &tty_new);
+-#endif
+ }
+
+
+-#ifdef LINUX
+-reset_tty()
+-{
+- system("stty -raw echo");
+-}
+-restore_tty()
+-{
+- system("stty raw -echo");
+-}
+-#else
+ void
+ reset_tty()
+ {
+@@ -104,8 +73,6 @@
+ stty(1, &tty_new);
+ }
+
+-#endif
+-
+
+
+ /* ----------------------------------------------------- */
+@@ -171,11 +138,7 @@
+ char *sbp, *s;
+ char *tgetstr();
+
+-#ifdef LINUX
+ ospeed = cfgetospeed(&tty_state);
+-#else
+- ospeed = tty_state.sg_ospeed;
+-#endif
+
+ if (tgetent(buf, term) != 1)
+ return NA;