Date: Sat, 17 Mar 2007 16:57:48 +0100 (CET) From: Ed Schouten <ed@fxq.nl> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/110448: [editors/em] use <termios.h> instead of <sgtty.h> Message-ID: <20070317155748.7ED0E1CD1A@palm.hoeg.nl> Resent-Message-ID: <200703171600.l2HG0BfB070155@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 110448 >Category: ports >Synopsis: [editors/em] use <termios.h> instead of <sgtty.h> >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Mar 17 16:00:11 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Ed Schouten >Release: FreeBSD 6.2-STABLE i386 >Organization: >Environment: System: FreeBSD palm.hoeg.nl 6.2-STABLE FreeBSD 6.2-STABLE #0: Sun Feb 11 22:32:09 CET 2007 root@palm.hoeg.nl:/usr/obj/usr/src/sys/PALM i386 >Description: The editor em has the ability to use sgtty and termio. Teach it how termios works. Now we can use it without COMPAT_43TTY >How-To-Repeat: >Fix: Place the following file in the `files/' directory. --- termio.c Thu May 2 13:52:00 1996 +++ termio.c Sat Mar 17 16:53:22 2007 @@ -41,16 +41,21 @@ int nxtchar = -1; /* character held from type ahead */ #endif +#undef USG +#define USG 1 +#undef BSD +#define BSD 0 + #if USG /* System V */ #include <signal.h> -#include <termio.h> +#include <termios.h> #include <fcntl.h> int kbdflgs; /* saved keyboard fd flags */ int kbdpoll; /* in O_NDELAY mode */ int kbdqp; /* there is a char in kbdq */ char kbdq; /* char we've already read */ -struct termio otermio; /* original terminal characteristics */ -struct termio ntermio; /* charactoristics to use inside */ +struct termios otermio; /* original terminal characteristics */ +struct termios ntermio; /* charactoristics to use inside */ #if XONXOFF #define XXMASK 0016000 #endif @@ -154,7 +159,7 @@ #endif #if USG - ioctl(0, TCGETA, &otermio); /* save old settings */ + tcgetattr(0, &otermio); /* save old settings */ ntermio.c_iflag = 0; /* setup new settings */ #if XONXOFF ntermio.c_iflag = otermio.c_iflag & XXMASK; /* save XON/XOFF P.K. */ @@ -162,11 +167,10 @@ ntermio.c_oflag = 0; ntermio.c_cflag = otermio.c_cflag; ntermio.c_lflag = 0; - ntermio.c_line = otermio.c_line; ntermio.c_cc[VMIN] = 1; ntermio.c_cc[VTIME] = 0; #if PKCODE - ioctl(0, TCSETAW, &ntermio); /* and activate them */ + tcsetattr(0, TCSANOW, &ntermio); /* and activate them */ #else ioctl(0, TCSETA, &ntermio); /* and activate them */ #endif @@ -244,7 +248,7 @@ #if USG #if PKCODE - ioctl(0, TCSETAW, &otermio); /* restore terminal settings */ + tcsetattr(0, TCSANOW, &otermio); /* and activate them */ #else ioctl(0, TCSETA, &otermio); /* restore terminal settings */ #endif >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070317155748.7ED0E1CD1A>