summaryrefslogtreecommitdiff
path: root/misc/splitvt
diff options
context:
space:
mode:
authorRong-En Fan <rafan@FreeBSD.org>2008-06-11 13:23:02 +0000
committerRong-En Fan <rafan@FreeBSD.org>2008-06-11 13:23:02 +0000
commite83b55f8fddf21ceaf87cac44099dc68b9263507 (patch)
tree67ac11558caaff35492d313cccbb6bb3f257e2be /misc/splitvt
parent* Catch up to X11R6 removal (diff)
- Use termios instead of sgtty
- Bump PORTREVISION PR: ports/124475 Submitted by: ed
Notes
Notes: svn path=/head/; revision=214661
Diffstat (limited to 'misc/splitvt')
-rw-r--r--misc/splitvt/Makefile1
-rw-r--r--misc/splitvt/files/patch-misc.c107
-rw-r--r--misc/splitvt/files/patch-vttest.c59
3 files changed, 163 insertions, 4 deletions
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 <fcntl.h>
- #include <stdio.h>
+@@ -7,10 +7,13 @@
+ #include <stdlib.h>
+ #include <string.h>
#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
++#define HAVE_TERMIO_H
#ifdef HAVE_TERMIO_H
+-#include <termio.h>
++#include <termios.h>
+ #else
+ #include <sys/ioctl.h>
+ #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 <sys/types.h>
+ #include <stdio.h>
+ #include <fcntl.h>
++#define HAVE_TERMIO_H
+ #ifdef HAVE_TERMIO_H
+-#include <termio.h>
++#include <termios.h>
+ #else
+ #include <setjmp.h>
+ #include <signal.h>
+@@ -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 */