ports/110875: [net/pmf] Use termios.h instead of sgtty.h

Ed Schouten ed at fxq.nl
Mon Mar 26 18:20:15 UTC 2007


>Number:         110875
>Category:       ports
>Synopsis:       [net/pmf] 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:   Mon Mar 26 18:20:04 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 at palm.hoeg.nl:/usr/obj/usr/src/sys/PALM i386
>Description:
The pmf application makes use of sgtty or termio in a very simple way.
It isn't hard to port it to use of termios, making it work on systems
that use kernels without COMPAT_43/COMPAT_43TTY.
>How-To-Repeat:
>Fix:
Apply the following patch:

--- net/pmf/files/patch-ac	Fri Aug 25 16:07:32 2000
+++ net/pmf/files/patch-ac	Mon Mar 26 20:07:20 2007
@@ -18,7 +18,7 @@
  #define SYSTEM_NEWS_FILE                "NEWS"
  #define SYSTEM_HELP_DIR                 "helpfiles"
  #define SYSTEM_SOUND_DIR                "soundfiles"
-@@ -63,7 +65,9 @@
+@@ -63,14 +65,20 @@
  #define X_OUTPUT_PROGRAM	"cat"
  
  /* What system? Define one either BSD or SYSV:*/
@@ -28,7 +28,8 @@
  /* #define SYSV */
  
  /* What ioctl do we use for the ttys? */
-@@ -71,6 +75,10 @@
+-#ifdef BSD
++#if defined(BSD) && !defined(__FreeBSD__)
  #  define USE_TIOCGETP
  #else
  #  define USE_TCGETA
--- net/pmf/files/patch-ad	Sun Nov 24 00:50:39 2002
+++ net/pmf/files/patch-ad	Mon Mar 26 20:07:20 2007
@@ -1,7 +1,10 @@
 --- main.c.orig	Sun Sep 22 12:13:43 1991
 +++ main.c	Fri Feb 11 04:14:00 2000
-@@ -15,6 +15,7 @@
- #include <sgtty.h>
+@@ -12,9 +12,9 @@
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#include <sgtty.h>
  #include <signal.h>
  #include <setjmp.h>
 +#include <sys/param.h>
--- net/pmf/files/patch-tty.c	Thu Jan  1 01:00:00 1970
+++ net/pmf/files/patch-tty.c	Mon Mar 26 20:07:20 2007
@@ -0,0 +1,28 @@
+--- tty.c	Fri Oct 29 10:09:06 1993
++++ tty.c	Mon Mar 26 20:02:26 2007
+@@ -18,6 +18,9 @@
+ /* Added by dodurham at stimpy.ualr.edu for Linux machines */
+ #ifdef SYSV
+ #    include <termio.h>
++#elif defined(__FreeBSD__)
++#    include <termios.h>
++#    define termio termios
+ #else
+ #    include <sgtty.h>
+ #endif
+@@ -161,13 +164,13 @@
+ 
+ pmf_save_terminal()
+ {
+-    if (ioctl(0, TCGETA, &terminal_state) == -1)
++    if (tcgetattr(0, &terminal_state) == -1)
+ 	fatal("ioctl TCGETA failed in pmf_save_terminal.");
+ } /* pmf_save_terminal */
+ 
+ pmf_restore_terminal()
+ {
+-    if (ioctl(0, TCSETA, &terminal_state) == -1)
++    if (tcsetattr(0, TCSANOW, &terminal_state) == -1)
+ 	fatal("ioctl TCSETA failed in pmf_restore_terminal.");
+ } /* pmf_restore_terminal */
+ 
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list