From 19300687322dc270ecbf341aa415dff9308e389c Mon Sep 17 00:00:00 2001 From: rafan Date: Wed, 11 Jun 2008 13:23:02 +0000 Subject: - Use termios instead of sgtty - Bump PORTREVISION PR: ports/124475 Submitted by: ed --- misc/splitvt/Makefile | 1 + misc/splitvt/files/patch-misc.c | 107 ++++++++++++++++++++++++++++++++++++-- misc/splitvt/files/patch-vttest.c | 59 ++++++++++++++++++++- 3 files changed, 163 insertions(+), 4 deletions(-) (limited to 'misc/splitvt') diff --git a/misc/splitvt/Makefile b/misc/splitvt/Makefile index 42a696b340c2..d44de818bb88 100644 --- a/misc/splitvt/Makefile +++ b/misc/splitvt/Makefile @@ -8,6 +8,7 @@ PORTNAME= splitvt PORTVERSION= 1.6.6 +PORTREVISION= 1 CATEGORIES= misc MASTER_SITES= http://www.devolution.com/~slouken/projects/splitvt/ diff --git a/misc/splitvt/files/patch-misc.c b/misc/splitvt/files/patch-misc.c index b7ca9933c968..89b1eff69566 100644 --- a/misc/splitvt/files/patch-misc.c +++ b/misc/splitvt/files/patch-misc.c @@ -1,11 +1,112 @@ --- misc.c.orig Wed Dec 15 10:28:45 2004 +++ misc.c Sat Oct 7 14:34:28 2006 -@@ -5,6 +5,8 @@ - #include - #include +@@ -7,10 +7,13 @@ + #include + #include #include +#include +#include ++#define HAVE_TERMIO_H #ifdef HAVE_TERMIO_H +-#include ++#include + #else + #include + #endif /* HAVE_TERMIO_H */ +@@ -431,13 +434,13 @@ + /* Get the modes of the controlling tty and save them. Saves + ttymodes in tty_mode and returns -1 if ioctl fails. */ + +-struct termio tty_mode; /* Save tty mode here */ ++struct termios tty_mode; /* Save tty mode here */ + static int tty_init=0; + + int tty_getmode(fd) + int fd; + { +- d_zero((char *)&tty_mode, sizeof(struct termio)); ++ d_zero((char *)&tty_mode, sizeof(struct termios)); + tty_init=1; /* Flag: we have initialized the tty_mode struct */ + + if ( ! isatty(fd) ) +@@ -447,7 +450,7 @@ + fprintf(stderr, "Getting tty modes for tty_mode.\r\n"); + #endif + +- if (ioctl(fd, TCGETA, (char *) &tty_mode) < 0) ++ if (tcgetattr(fd, &tty_mode) < 0) + { + #ifdef DEBUG + perror("tty_getmode(): ioctl error"); +@@ -464,14 +467,14 @@ + int tty_sane(fd) + int fd; + { +- struct termio temp_mode; ++ struct termios temp_mode; + + if ( ! isatty(fd) ) + return(0); + + if ( ! tty_init ) + { +- if (ioctl(fd, TCGETA, (char *) &tty_mode) < 0) ++ if (tcgetattr(fd, &tty_mode) < 0) + return(-1); + } + +@@ -491,7 +494,7 @@ + temp_mode.c_cc[VEOF]=('D'^64); + + /* TCSETAW is important for letting tty input drain. */ +- if ( ioctl(fd, TCSETAW, (char *)&temp_mode) < 0 ) ++ if ( tcsetattr(fd, TCSADRAIN, &temp_mode) < 0 ) + { + #ifdef DEBUG + perror("Can't set tty modes"); +@@ -508,7 +511,7 @@ + int tty_raw(fd) + int fd; /* of tty device */ + { +- struct termio temp_mode; ++ struct termios temp_mode; + + if ( ! tty_init ) + return(-1); +@@ -516,7 +519,7 @@ + if ( ! isatty(fd) ) + return(0); + +- if ( ioctl(fd, TCGETA, (char *)&temp_mode) < 0 ) ++ if ( tcgetattr(fd, &temp_mode) < 0 ) + return(-1); + + #ifdef SEVEN_BIT +@@ -524,14 +527,14 @@ + #else + temp_mode.c_iflag=(IGNBRK); /* turn off all input control */ + #endif +- temp_mode.c_oflag &= ~(OLCUC | ONLCR | OCRNL | ONLRET); ++ temp_mode.c_oflag &= ~(ONLCR | OCRNL | ONLRET); + /* disable output post-processing */ + temp_mode.c_lflag = 0; + temp_mode.c_cc[VMIN]=1; /* 1 or more chars satisfy read */ + temp_mode.c_cc[VTIME]=0; /* 10'ths of seconds between chars */ + + /* TCSETAW is important for letting tty input drain. */ +- if (ioctl(fd, TCSETAW, (char *) &temp_mode) < 0) ++ if (tcsetattr(fd, TCSADRAIN, &temp_mode) < 0) + return(-1); + return(0); + } +@@ -550,7 +553,7 @@ + return(0); + + /* TCSETAW is important for letting tty input drain. */ +- if (ioctl(fd, TCSETAW, (char *) &tty_mode) < 0) ++ if (tcsetattr(fd, TCSADRAIN, &tty_mode) < 0) + return(-1); + return(0); + } diff --git a/misc/splitvt/files/patch-vttest.c b/misc/splitvt/files/patch-vttest.c index fa228a90cb5e..04e710b2fcdf 100644 --- a/misc/splitvt/files/patch-vttest.c +++ b/misc/splitvt/files/patch-vttest.c @@ -1,6 +1,54 @@ --- vttest.c.orig Sat Oct 7 15:38:17 2006 +++ vttest.c Sat Oct 7 15:40:43 2006 -@@ -87,9 +87,13 @@ +@@ -15,8 +15,9 @@ + #include + #include + #include ++#define HAVE_TERMIO_H + #ifdef HAVE_TERMIO_H +-#include ++#include + #else + #include + #include +@@ -49,15 +50,15 @@ + { + char buff[512]; + int x=0, w, rc=0, fd; +- struct termio ttold, ttraw; ++ struct termios ttold, ttraw; + + /* Set the terminal in a raw mode */ + if ( (fd=open("/dev/tty", O_RDWR, 0666)) < 0 ) + return(0); + +- if ( ioctl(fd, TCGETA, (char *)&ttold) < 0 ) ++ if ( tcgetattr(fd, &ttold) < 0 ) + return(0); +- (void) ioctl(fd, TCGETA, (char *)&ttraw); ++ (void) tcgetattr(fd, &ttraw); + + #ifdef HAVE_TERMIO_H + #ifdef SEVEN_BIT +@@ -65,7 +66,7 @@ + #else + ttraw.c_iflag=(IGNBRK); /* turn off all input control */ + #endif /* SEVEN_BIT */ +- ttraw.c_oflag &= ~(OLCUC | ONLCR | OCRNL | ONLRET); ++ ttraw.c_oflag &= ~(ONLCR | OCRNL | ONLRET); + /* disable output post-processing */ + ttraw.c_lflag = 0; + ttraw.c_cc[VMIN]=0; /* 1 or more chars satisfy read */ +@@ -75,7 +76,7 @@ + ttraw.sg_flags &= ~ECHO; /* turn ECHO off */ + #endif /* HAVE_TERMIO_H */ + +- if (ioctl(fd, TCSETAW, (char *)&ttraw) < 0) ++ if (tcsetattr(fd, TCSADRAIN, &ttraw) < 0) + return(0); + + write(fd,"\033[c", 3); /* Vt100 test: ESC [ c */ +@@ -87,9 +88,13 @@ setjmp(alarm_buf); #endif while ( !alarmed && (x < 20) ) { @@ -15,3 +63,12 @@ buff[x]='\0'; /* For printing, if we desire. */ if ( buff[0] == '\033' ) /* An escape sequence? :) */ rc=1; +@@ -98,7 +103,7 @@ + alarm(0); + signal(SIGALRM, SIG_DFL); + #endif +- (void) ioctl(fd, TCSETAW, (char *)&ttold); ++ (void) tcsetattr(fd, TCSADRAIN, &ttold); + (void) close(fd); + + #ifdef not_defined /* Print out the response for debugging */ -- cgit