ports/110439: [cad/spice] Use termios.h

Ed Schouten ed at fxq.nl
Sat Mar 17 11:30:01 UTC 2007


>Number:         110439
>Category:       ports
>Synopsis:       [cad/spice] Use termios.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 11:30:00 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 cad/spice port is one of the ports that uses <sgtty.h> while it
could perfectly use <termios.h>. When we use <termios.h>, compilation
fails, because of some termio leftovers.
>How-To-Repeat:
>Fix:
This patch changes os_bsd.h to use termios on FreeBSD. It also changes
the sourcecode to use tcgetattr/tcsetattr instead of ioctl's.

--- cad/spice/files/patch-src_include_os_bsd_h	Wed Apr  5 22:51:27 2006
+++ cad/spice/files/patch-src_include_os_bsd_h	Sat Mar 17 12:17:58 2007
@@ -1,6 +1,6 @@
 --- src/include/os_bsd.h.orig	Sat Apr 24 18:09:46 1993
 +++ src/include/os_bsd.h	Mon Apr  3 21:27:21 2006
-@@ -8,18 +8,32 @@
+@@ -8,18 +8,36 @@
  
  #include "os_unix.h"
  
@@ -24,8 +24,12 @@
 -#define HAS_INDEX		/* index( ) instead of strchr( )	*/
  #define HAS_BCOPY		/* bcopy( ), bzero( )			*/
  #define HAS_BSDRANDOM		/* srandom( ) and random( )		*/
++#ifdef __FreeBSD__
++#define HAS_POSIXTTY		/* <termios.h>				*/
++#else
  #define HAS_BSDTTY		/* <sgtty.h>				*/
 -#define HAS_BSDDIRS		/* <sys/dir.h>				*/
++#endif
  #define HAS_BSDRUSAGE		/* getrusage( )				*/
  #define HAS_BSDRLIMIT		/* getrlimit( )				*/
  #define HAS_DUP2
--- cad/spice/files/patch-src_lib_cp_complete.c	Thu Jan  1 01:00:00 1970
+++ cad/spice/files/patch-src_lib_cp_complete.c	Sat Mar 17 12:17:58 2007
@@ -0,0 +1,20 @@
+--- src/lib/cp/complete.c	Wed Jun 19 05:55:38 1991
++++ src/lib/cp/complete.c	Sat Mar 17 11:51:56 2007
+@@ -445,14 +445,14 @@
+     ison = on;
+ 
+     if (ison == true) {
+-	(void) ioctl(fileno(cp_in), TERM_GET, (char *) &OS_Buf);
++    	tcgetattr(fileno(cp_in), &OS_Buf);
+ 	sbuf = OS_Buf;
+ 	sbuf.c_cc[VEOF] = 0;
+ 	sbuf.c_cc[VEOL] = ESCAPE;
+ 	sbuf.c_cc[VEOL2] = CNTRL_D;
+-	(void) ioctl(fileno(cp_in), TERM_SET, (char *) &sbuf);
++    	tcsetattr(fileno(cp_in), TCSANOW, &OS_Buf);
+     } else {
+-	(void) ioctl(fileno(cp_in), TERM_SET, (char *) &OS_Buf);
++    	tcsetattr(fileno(cp_in), TCSANOW, &OS_Buf);
+     }
+ 
+ #  endif
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list