You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							152 lines
						
					
					
						
							4.7 KiB
						
					
					
				
			
		
		
	
	
							152 lines
						
					
					
						
							4.7 KiB
						
					
					
				# --- T2-COPYRIGHT-NOTE-BEGIN --- | 
						|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. | 
						|
#  | 
						|
# T2 SDE: package/.../kterm/kterm-devfs-aware.patch | 
						|
# Copyright (C) 2004 - 2006 The T2 SDE Project | 
						|
# Copyright (C) 1998 - 2003 Clifford Wolf | 
						|
#  | 
						|
# More information can be found in the files COPYING and README. | 
						|
#  | 
						|
# This patch file is dual-licensed. It is available under the license the | 
						|
# patched project is licensed under, as long as it is an OpenSource license | 
						|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms | 
						|
# of the GNU General Public License as published by the Free Software | 
						|
# Foundation; either version 2 of the License, or (at your option) any later | 
						|
# version. | 
						|
# --- T2-COPYRIGHT-NOTE-END --- | 
						|
 | 
						|
diff -pruN kterm-6.2.0/Imakefile kterm-6.2.0_new/Imakefile | 
						|
--- kterm-6.2.0/Imakefile	1996-07-12 07:01:04.000000000 +0200 | 
						|
+++ kterm-6.2.0_new/Imakefile	2003-08-16 15:23:27.000000000 +0200 | 
						|
@@ -21,8 +21,9 @@ XCOMM $Id: Imakefile,v 6.3 1996/07/12 05 | 
						|
 #endif | 
						|
 #if UsePUCCPtyd			/* turn on in config/site.def */ | 
						|
     PUCCPTYDDEF = -DPUCC_PTYD		/* does not need to be setuid */ | 
						|
-         PTYLIB = -lpucc | 
						|
+         PTYLIBN = -lpucc | 
						|
 #endif | 
						|
+PTYLIB = $(PTYLIBN) -lutil | 
						|
  | 
						|
  OSMAJORVERSION = OSMajorVersion | 
						|
  OSMINORVERSION = OSMinorVersion | 
						|
diff -pruN kterm-6.2.0/main.c kterm-6.2.0_new/main.c | 
						|
--- kterm-6.2.0/main.c	2003-08-16 15:25:26.000000000 +0200 | 
						|
+++ kterm-6.2.0_new/main.c	2003-08-16 15:19:35.000000000 +0200 | 
						|
@@ -286,6 +286,7 @@ extern struct utmp *getutid __((struct u | 
						|
 #endif | 
						|
 #include <sys/param.h>	/* for NOFILE */ | 
						|
  | 
						|
+#include <pty.h> | 
						|
 #ifdef  PUCC_PTYD | 
						|
 #include <local/openpty.h> | 
						|
 int	Ptyfd; | 
						|
@@ -1681,109 +1682,8 @@ char *name; | 
						|
 get_pty (pty) | 
						|
     int *pty; | 
						|
 { | 
						|
-#ifdef __osf__ | 
						|
     int tty; | 
						|
     return (openpty(pty, &tty, ttydev, NULL, NULL)); | 
						|
-#endif | 
						|
-#if defined(SYSV) && defined(i386) && !defined(SVR4) | 
						|
-        /* | 
						|
-	  The order of this code is *important*.  On SYSV/386 we want to open | 
						|
-	  a /dev/ttyp? first if at all possible.  If none are available, then | 
						|
-	  we'll try to open a /dev/pts??? device. | 
						|
-	   | 
						|
-	  The reason for this is because /dev/ttyp? works correctly, where | 
						|
-	  as /dev/pts??? devices have a number of bugs, (won't update | 
						|
-	  screen correcly, will hang -- it more or less works, but you | 
						|
-	  really don't want to use it). | 
						|
-	   | 
						|
-	  Most importantly, for boxes of this nature, one of the major | 
						|
-	  "features" is that you can emulate a 8086 by spawning off a UNIX | 
						|
-	  program on 80386/80486 in v86 mode.  In other words, you can spawn | 
						|
-	  off multiple MS-DOS environments.  On ISC the program that does | 
						|
-	  this is named "vpix."  The catcher is that "vpix" will *not* work | 
						|
-	  with a /dev/pts??? device, will only work with a /dev/ttyp? device. | 
						|
-	   | 
						|
-	  Since we can open either a /dev/ttyp? or a /dev/pts??? device, | 
						|
-	  the flag "IsPts" is set here so that we know which type of | 
						|
-	  device we're dealing with in routine spawn().  That's the reason | 
						|
-	  for the "if (IsPts)" statement in spawn(); we have two different | 
						|
-	  device types which need to be handled differently. | 
						|
-	  */ | 
						|
-        if (pty_search(pty) == 0) | 
						|
-	    return 0; | 
						|
-#endif /* SYSV && i386 && !SVR4 */ | 
						|
-#if defined(ATT) && !defined(__sgi) | 
						|
-	if ((*pty = open ("/dev/ptmx", O_RDWR)) < 0) { | 
						|
-	    return 1; | 
						|
-	} | 
						|
-#if defined(SVR4) || defined(i386) | 
						|
-	strcpy(ttydev, ptsname(*pty)); | 
						|
-#if defined (SYSV) && defined(i386) && !defined(SVR4) | 
						|
-	IsPts = True; | 
						|
-#endif | 
						|
-#endif | 
						|
-	return 0; | 
						|
-#else /* ATT else */ | 
						|
-#ifdef AIXV3 | 
						|
-	if ((*pty = open ("/dev/ptc", O_RDWR)) < 0) { | 
						|
-	    return 1; | 
						|
-	} | 
						|
-	strcpy(ttydev, ttyname(*pty)); | 
						|
-	return 0; | 
						|
-#endif | 
						|
-#if defined(__sgi) && OSMAJORVERSION >= 4 | 
						|
-	{ | 
						|
-	    char    *tty_name; | 
						|
- | 
						|
-	    tty_name = _getpty (pty, O_RDWR, 0622, 0); | 
						|
-	    if (tty_name == 0) | 
						|
-		return 1; | 
						|
-	    strcpy (ttydev, tty_name); | 
						|
-	    return 0; | 
						|
-	} | 
						|
-#endif | 
						|
-#ifdef __convex__ | 
						|
-        { | 
						|
-	    char *pty_name, *getpty(); | 
						|
- | 
						|
-	    while ((pty_name = getpty()) != NULL) { | 
						|
-		if ((*pty = open (pty_name, O_RDWR)) >= 0) { | 
						|
-		    strcpy(ptydev, pty_name); | 
						|
-		    strcpy(ttydev, pty_name); | 
						|
-		    ttydev[5] = 't'; | 
						|
-		    return 0; | 
						|
-		} | 
						|
-	    } | 
						|
-	    return 1; | 
						|
-	} | 
						|
-#endif /* __convex__ */ | 
						|
-#ifdef USE_GET_PSEUDOTTY | 
						|
-	return ((*pty = getpseudotty (&ttydev, &ptydev)) >= 0 ? 0 : 1); | 
						|
-#else | 
						|
-#if (defined(__sgi) && OSMAJORVERSION < 4) || (defined(umips) && defined (SYSTYPE_SYSV)) | 
						|
-	struct stat fstat_buf; | 
						|
- | 
						|
-	*pty = open ("/dev/ptc", O_RDWR); | 
						|
-	if (*pty < 0 || (fstat (*pty, &fstat_buf)) < 0) { | 
						|
-	  return(1); | 
						|
-	} | 
						|
-	sprintf (ttydev, "/dev/ttyq%d", minor(fstat_buf.st_rdev)); | 
						|
-#ifndef __sgi | 
						|
-	sprintf (ptydev, "/dev/ptyq%d", minor(fstat_buf.st_rdev)); | 
						|
-	if ((*tty = open (ttydev, O_RDWR)) < 0) { | 
						|
-	  close (*pty); | 
						|
-	  return(1); | 
						|
-	} | 
						|
-#endif /* !__sgi */ | 
						|
-	/* got one! */ | 
						|
-	return(0); | 
						|
-#else /* __sgi or umips */ | 
						|
- | 
						|
-	return pty_search(pty); | 
						|
- | 
						|
-#endif /* __sgi or umips else */ | 
						|
-#endif /* USE_GET_PSEUDOTTY else */ | 
						|
-#endif /* ATT else */ | 
						|
 } | 
						|
  | 
						|
 /*
 | 
						|
 |