From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Dec 28 14:40:01 2007 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 790C416A41A for ; Fri, 28 Dec 2007 14:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 4961D13C455 for ; Fri, 28 Dec 2007 14:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id lBSEe1gW095185 for ; Fri, 28 Dec 2007 14:40:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id lBSEe1uw095184; Fri, 28 Dec 2007 14:40:01 GMT (envelope-from gnats) Resent-Date: Fri, 28 Dec 2007 14:40:01 GMT Resent-Message-Id: <200712281440.lBSEe1uw095184@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ed Schouten Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3177116A468 for ; Fri, 28 Dec 2007 14:34:39 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:610:652::211]) by mx1.freebsd.org (Postfix) with ESMTP id 6A4FD13C448 for ; Fri, 28 Dec 2007 14:34:38 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id B198F1CCD9; Fri, 28 Dec 2007 15:32:33 +0100 (CET) Message-Id: <20071228143233.B198F1CCD9@palm.hoeg.nl> Date: Fri, 28 Dec 2007 15:32:33 +0100 (CET) From: Ed Schouten To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/119103: [Patch] make net/tintin++ and japanese/tintin++ work without sgtty X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Ed Schouten List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Dec 2007 14:40:01 -0000 >Number: 119103 >Category: ports >Synopsis: [Patch] make net/tintin++ and japanese/tintin++ work without sgtty >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Dec 28 14:40:00 UTC 2007 >Closed-Date: >Last-Modified: >Originator: Ed Schouten >Release: FreeBSD 6.3-PRERELEASE i386 >Organization: >Environment: System: FreeBSD palm.hoeg.nl 6.3-PRERELEASE FreeBSD 6.3-PRERELEASE #0: Wed Dec 19 16:07:46 CET 2007 ed@palm.hoeg.nl:/usr/obj/usr/src/sys/PALM i386 >Description: The net/tintin++ port still makes use of the sgtty interface. We'd better port it to termios to make it work with COMPAT_43TTY-less kernels. >How-To-Repeat: >Fix: --- net/tintin++/files/patch-ad 2002-08-23 21:35:21.000000000 +0200 +++ net/tintin++/files/patch-ad 2007-12-28 15:30:19.000000000 +0100 @@ -1,23 +1,21 @@ --- main.c.orig Thu Mar 25 11:26:53 1999 +++ main.c Tue Sep 26 17:27:58 2000 -@@ -18,6 +18,7 @@ - #include - #include "tintin.h" - #include -+#include +@@ -100,12 +100,8 @@ + extern void term_echo(); - #ifndef BADSIG - #define BADSIG (void (*)())-1 -@@ -109,7 +110,7 @@ + int last_line_length; +-#if defined(HAVE_SYS_TERMIO_H) && !defined(BSD_ECHO) || defined(HAVE_TERMIO_H) +-#if defined(HAVE_SYS_TERMIO_H) +-#include +-#else +-#include +-#endif ++#if 1 ++#include tcflag_t c_lflag; cc_t c_cc[NCCS]; #else --unsigned char c_cc[NCC]; -+unsigned char c_cc[NCCS]; - unsigned short c_lflag; - #endif - -@@ -580,7 +581,7 @@ +@@ -580,7 +576,7 @@ if(ses->logfile) { if (!OLD_LOG) { count=0; @@ -26,7 +24,7 @@ if (buffer[n]!='\r') { temp[count]=buffer[n]; count++; -@@ -750,7 +751,7 @@ +@@ -750,7 +746,7 @@ sprintf(strng,"%c8%s\n\r%c7%c[%d;%df", E, cptr, E, E, input_row, input_col); else sprintf(strng,"%s\n\r", cptr); @@ -35,7 +33,7 @@ display_col=1; if (redraw && term_echoing && !is_split) write(1, k_input, strlen(k_input)); -@@ -806,7 +807,7 @@ +@@ -806,7 +802,7 @@ cptr++; sprintf(strng,"%s\n\r", cptr); } @@ -44,7 +42,7 @@ display_col=1; } text_came=TRUE; -@@ -876,7 +877,7 @@ +@@ -876,7 +872,7 @@ input_col=1; sprintf(fn, "%c[2J%c[1;%dr%c[%d;1f", E, E, display_row, E, split_line); write(1,fn, strlen(fn)); --- net/tintin++/files/patch-term.c 1970-01-01 01:00:00.000000000 +0100 +++ net/tintin++/files/patch-term.c 2007-12-28 15:30:19.000000000 +0100 @@ -0,0 +1,79 @@ +--- echo.c 1999-03-04 19:23:42.000000000 +0100 ++++ echo.c 2007-12-28 15:23:31.000000000 +0100 +@@ -18,12 +18,8 @@ + #include + #endif + +-#if defined(HAVE_SYS_TERMIO_H) && !defined(BSD_ECHO) || defined(HAVE_TERMIO_H) +-#if defined(HAVE_SYS_TERMIO_H) +-#include +-#else +-#include +-#endif ++#if 1 ++#include + #else + #include + #if DIRTY_REDEFINE +@@ -34,8 +30,8 @@ + #endif + #endif + +-#if defined(HAVE_SYS_TERMIO_H) && !defined(BSD_ECHO) || defined(HAVE_TERMIO_H) +-#ifdef HAVE_TCFLAG_T ++#if 1 ++#if 1 + extern tcflag_t c_lflag; + extern cc_t c_cc[NCCS]; + #else +@@ -44,10 +40,10 @@ + #endif + void init_echo() + { +- struct termio io; ++ struct termios io; + +- if(ioctl(0, TCGETA, &io)<0) +- syserr("ioctl"); ++ if(tcgetattr(0, &io)<0) ++ syserr("tcgetattr"); + c_lflag = io.c_lflag; + c_cc[VMIN] = io.c_cc[VMIN]; + c_cc[VTIME] = io.c_cc[VTIME]; +@@ -58,14 +54,14 @@ + /********************************/ + void term_echo() + { +- struct termio io; ++ struct termios io; + +- if(ioctl(0, TCGETA, &io)<0) ++ if(tcgetattr(0, &io)<0) + syserr("ioctl"); + io.c_lflag = c_lflag; + io.c_cc[VMIN] = c_cc[VMIN]; + io.c_cc[VTIME] = c_cc[VTIME]; +- if(ioctl(0, TCSETA, &io)<0) ++ if(tcsetattr(0, TCSANOW, &io)<0) + syserr("ioctl"); + } + +@@ -74,15 +70,15 @@ + /*********************************/ + void term_noecho() + { +- struct termio io; ++ struct termios io; + +- if(ioctl(0, TCGETA, &io)<0) ++ if(tcgetattr(0, &io)<0) + syserr("ioctl"); + io.c_lflag &= ~ECHO; + io.c_lflag &= ~ICANON; + io.c_cc[VMIN]=1; + io.c_cc[VTIME]=0; +- if(ioctl(0, TCSETA, &io) < 0) ++ if(tcsetattr(0, TCSANOW, &io) < 0) + syserr("ioctl"); + } + >Release-Note: >Audit-Trail: >Unformatted: