diff options
author | Chin-San Huang <chinsan@FreeBSD.org> | 2008-05-01 22:08:18 +0800 |
---|---|---|
committer | Chin-San Huang <chinsan@FreeBSD.org> | 2008-05-01 22:08:18 +0800 |
commit | 85c698ac64587066e0918404962f759071620850 (patch) | |
tree | 71adfd915d8e257f76a33dbe4f5a0b9edd5ab581 /chinese | |
parent | 6127a9dda0e2697060adec2ea7fa3fd38b44dbd6 (diff) | |
download | freebsd-ports-gnome-85c698ac64587066e0918404962f759071620850.tar.gz freebsd-ports-gnome-85c698ac64587066e0918404962f759071620850.tar.zst freebsd-ports-gnome-85c698ac64587066e0918404962f759071620850.zip |
- Use termios instead of sgtty.
PR: ports/119115, ports/122889
Submitted by: Ed Schouten <ed@80386 dot nl>
Diffstat (limited to 'chinese')
-rw-r--r-- | chinese/ve/Makefile | 1 | ||||
-rw-r--r-- | chinese/ve/files/patch-bbs.h | 17 | ||||
-rw-r--r-- | chinese/ve/files/patch-term.c | 95 |
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; |