aboutsummaryrefslogtreecommitdiffstats
path: root/korean
diff options
context:
space:
mode:
authorcjh <cjh@FreeBSD.org>2008-02-04 19:47:52 +0800
committercjh <cjh@FreeBSD.org>2008-02-04 19:47:52 +0800
commitd0e15f92d4d70e9e0b2b9b35721e9c44dc30025f (patch)
treeb330e541c33367078666a8744bba049b3377cd59 /korean
parentb3dd88fb8813874e7c7a523894d37dfbabe2d92f (diff)
downloadfreebsd-ports-gnome-d0e15f92d4d70e9e0b2b9b35721e9c44dc30025f.tar.gz
freebsd-ports-gnome-d0e15f92d4d70e9e0b2b9b35721e9c44dc30025f.tar.zst
freebsd-ports-gnome-d0e15f92d4d70e9e0b2b9b35721e9c44dc30025f.zip
To use termios.
PR: ports/120059 Submitted by: Ed Schouten <ed@fxq.nl>
Diffstat (limited to 'korean')
-rw-r--r--korean/hanterm/Makefile2
-rw-r--r--korean/hanterm/files/patch-main.c89
2 files changed, 85 insertions, 6 deletions
diff --git a/korean/hanterm/Makefile b/korean/hanterm/Makefile
index fe89a207a57f..3ae2bd42c781 100644
--- a/korean/hanterm/Makefile
+++ b/korean/hanterm/Makefile
@@ -7,7 +7,7 @@
PORTNAME= hanterm
PORTVERSION= 3.1.6
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= korean x11
MASTER_SITES= http://hanterm.org/download/ \
ftp://ftp.kr.FreeBSD.org/pub/FreeBSD-kr/distfiles/
diff --git a/korean/hanterm/files/patch-main.c b/korean/hanterm/files/patch-main.c
index ced16173058e..c074865f1d75 100644
--- a/korean/hanterm/files/patch-main.c
+++ b/korean/hanterm/files/patch-main.c
@@ -1,12 +1,91 @@
--- main.c.orig Fri Oct 25 12:00:42 2002
+++ main.c Fri Oct 25 12:01:43 2002
-@@ -224,6 +224,9 @@
- #ifndef linux
- #include <sgtty.h>
+@@ -221,8 +221,13 @@
+ #define HAS_UTMP_UT_HOST
#endif
+ #else /* SYSV */
+-#ifndef linux
+-#include <sgtty.h>
+#ifdef __FreeBSD__
++#include <termios.h>
++#define USE_TERMIOS
++#define USE_TERMINFO
++#define USE_SYSV_TERMIO
++#define termio termios
+#define USE_POSIX_WAIT
-+#endif
+ #endif
#include <sys/resource.h>
#define HAS_UTMP_UT_HOST
- #define HAS_BSD_GROUPS
+@@ -1056,11 +1061,13 @@
+ #ifdef ECHOCTL
+ d_tio.c_lflag |= ECHOCTL|IEXTEN;
+ #endif
++#ifndef __FreeBSD__
+ #ifdef NTTYDISC
+ d_tio.c_line = NTTYDISC;
+ #else
+ d_tio.c_line = 0;
+ #endif
++#endif
+ #ifdef sgi
+ d_tio.c_cflag &= ~(HUPCL|PARENB);
+ d_tio.c_iflag |= BRKINT|ISTRIP|IGNPAR;
+@@ -1111,7 +1118,11 @@
+
+ for (i = 0; i <= 2; i++) {
+ struct termio deftio;
++#ifdef USE_TERMIOS
++ if (tcgetattr(i, &deftio) == 0) {
++#else
+ if (ioctl (i, TCGETA, &deftio) == 0) {
++#endif
+ d_tio.c_cc[VINTR] = deftio.c_cc[VINTR];
+ d_tio.c_cc[VQUIT] = deftio.c_cc[VQUIT];
+ d_tio.c_cc[VERASE] = deftio.c_cc[VERASE];
+@@ -2021,7 +2032,11 @@
+ lmode = d_lmode;
+ #endif /* TIOCLSET */
+ #ifdef USE_SYSV_TERMIO
++#ifdef USE_TERMIOS
++ if(tcgetattr(tty, &tio) == -1)
++#else
+ if(ioctl(tty, TCGETA, &tio) == -1)
++#endif
+ tio = d_tio;
+
+ #else /* not USE_SYSV_TERMIO */
+@@ -2389,19 +2404,17 @@
+ tio.c_iflag &= ~(INLCR|IGNCR|ISTRIP);
+ tio.c_iflag |= ICRNL;
+ /* ouput: cr->cr, nl is not return, no delays, ln->cr/nl */
+- tio.c_oflag &=
+- ~(OCRNL|ONLRET|NLDLY|CRDLY|TABDLY|BSDLY|VTDLY|FFDLY);
++ tio.c_oflag &= ~(OCRNL|ONLRET);
+ tio.c_oflag |= ONLCR;
+ #ifdef OPOST
+ tio.c_oflag |= OPOST;
+ #endif /* OPOST */
+ #ifdef BAUD_0
+ /* baud rate is 0 (don't care) */
+- tio.c_cflag &= ~(CBAUD);
++ cfsetspeed(&tio, 0);
+ #else /* !BAUD_0 */
+ /* baud rate is 9600 (nice default) */
+- tio.c_cflag &= ~(CBAUD);
+- tio.c_cflag |= B9600;
++ cfsetspeed(&tio, 9600);
+ #endif /* !BAUD_0 */
+ /* dkim@surecom.com */
+ tio.c_cflag &= ~CSIZE;
+@@ -2512,7 +2525,11 @@
+ if (ioctl (tty, TIOCLSET, (char *)&lmode) == -1)
+ HsSysError(cp_pipe[1], ERROR_TIOCLSET);
+ #endif /* TIOCLSET */
++#ifdef USE_TERMIOS
++ if (tcsetattr(tty, TCSANOW, &tio) == -1)
++#else
+ if (ioctl (tty, TCSETA, &tio) == -1)
++#endif
+ HsSysError(cp_pipe[1], ERROR_TIOCSETP);
+ #else /* USE_SYSV_TERMIO */
+ sg.sg_flags &= ~(ALLDELAY | XTABS | CBREAK | RAW);