diff -c hanterm302/Quarks.c hanterm302-irix/Quarks.c
*** hanterm302/Quarks.c	Thu Sep  9 03:40:28 1993
--- hanterm302-irix/Quarks.c	Thu Dec 14 11:11:19 1995
***************
*** 115,121 ****
      return(ret);
  }
  
! #ifndef IRIX4
  char *Xpermalloc(length)
      unsigned int length;
  {
--- 115,121 ----
      return(ret);
  }
  
! #ifndef sgi
  char *Xpermalloc(length)
      unsigned int length;
  {
***************
*** 140,146 ****
      return permalloc(length);
  }
  
! #endif				/* IRIX4 */
  
  static Bool
  ExpandQuarkTable()
--- 140,146 ----
      return permalloc(length);
  }
  
! #endif				/* sgi */
  
  static Bool
  ExpandQuarkTable()
***************
*** 208,214 ****
      return True;
  }
  
! #ifndef IRIX4
  
  #if NeedFunctionPrototypes
  XrmQuark _XrmInternalStringToQuark(
--- 208,214 ----
      return True;
  }
  
! #ifndef sgi
  
  #if NeedFunctionPrototypes
  XrmQuark _XrmInternalStringToQuark(
***************
*** 338,344 ****
      return _XrmInternalStringToQuark(name, tname-(char *)name-1, sig, False);
  }
  
! #endif /* IRIX4 */
  
  #if NeedFunctionPrototypes
  XrmQuark XrmPermStringToQuark(
--- 338,344 ----
      return _XrmInternalStringToQuark(name, tname-(char *)name-1, sig, False);
  }
  
! #endif /* sgi */
  
  #if NeedFunctionPrototypes
  XrmQuark XrmPermStringToQuark(
***************
*** 360,366 ****
      return _XrmInternalStringToQuark(name, tname-(char *)name-1, sig, True);
  }
  
! #ifndef IRIX4
  
  XrmQuark XrmUniqueQuark()
  {
--- 360,366 ----
      return _XrmInternalStringToQuark(name, tname-(char *)name-1, sig, True);
  }
  
! #ifndef sgi
  
  XrmQuark XrmUniqueQuark()
  {
***************
*** 383,386 ****
      return NAME(quark);
  }
  
! #endif /* IRIX4 */
--- 383,386 ----
      return NAME(quark);
  }
  
! #endif /* sgi */
Common subdirectories: hanterm302/X11 and hanterm302-irix/X11
diff -c hanterm302/main.c hanterm302-irix/main.c
*** hanterm302/main.c	Fri Nov 12 02:30:29 1993
--- hanterm302-irix/main.c	Thu Dec 14 11:11:05 1995
***************
*** 77,87 ****
  #endif
  
  #ifdef SVR4
  #define SYSV			/* SVR4 is (approx) superset of SVR3 */
  #define USE_SYSV_UTMP
  #define ATT
  #define USE_TERMIOS
! #endif
    
  #ifdef SYSV386
  #define USE_SYSV_UTMP
--- 77,89 ----
  #endif
  
  #ifdef SVR4
+ #ifndef sgi
  #define SYSV			/* SVR4 is (approx) superset of SVR3 */
  #define USE_SYSV_UTMP
  #define ATT
  #define USE_TERMIOS
! #endif	/* sgi */
! #endif	/* SVR4 */
    
  #ifdef SYSV386
  #define USE_SYSV_UTMP
***************
*** 1252,1258 ****
  #ifdef USE_GET_PSEUDOTTY
  	return ((*pty = getpseudotty (&ttydev, &ptydev)) >= 0 ? 0 : 1);
  #else
! #if ((defined(sgi) && !defined(IRIX4)) || (defined(umips) && defined (SYSTYPE_SYSV)))
  	struct stat fstat_buf;
  
  	*pty = open ("/dev/ptc", O_RDWR);
--- 1254,1260 ----
  #ifdef USE_GET_PSEUDOTTY
  	return ((*pty = getpseudotty (&ttydev, &ptydev)) >= 0 ? 0 : 1);
  #else
! #if (defined(umips) && defined (SYSTYPE_SYSV))
  	struct stat fstat_buf;
  
  	*pty = open ("/dev/ptc", O_RDWR);
***************
*** 1260,1279 ****
  	  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 */
  }
--- 1262,1279 ----
  	  return(1);
  	}
  	sprintf (ttydev, "/dev/ttyq%d", minor(fstat_buf.st_rdev));
  	sprintf (ptydev, "/dev/ptyq%d", minor(fstat_buf.st_rdev));
  	if ((*tty = open (ttydev, O_RDWR)) < 0) {
  	  close (*pty);
  	  return(1);
  	}
  	/* got one! */
  	return(0);
! #else /* umips */
  
  	return pty_search(pty);
  
! #endif /* umips else */
  #endif /* USE_GET_PSEUDOTTY else */
  #endif /* ATT else */
  }
***************
*** 1285,1291 ****
   * Returns 0 if found a pty, 1 if fails.
   */
  
! #ifdef IRIX4
  #include <sys/types.h>
  #include <sys/stat.h>
  #endif
--- 1285,1291 ----
   * Returns 0 if found a pty, 1 if fails.
   */
  
! #ifdef sgi
  #include <sys/types.h>
  #include <sys/stat.h>
  #endif
***************
*** 1330,1336 ****
  	while (PTYCHAR2[devindex]) {
  	    ttydev [strlen(ttydev) - 1] = ptydev [strlen(ptydev) - 1] =
  		PTYCHAR2 [devindex];
! #ifdef IRIX4
  	    if (_getpty(pty, O_RDWR, 0600, 0)) {
  #else
  	    if ((*pty = open (ptydev, O_RDWR)) >= 0) {
--- 1330,1336 ----
  	while (PTYCHAR2[devindex]) {
  	    ttydev [strlen(ttydev) - 1] = ptydev [strlen(ptydev) - 1] =
  		PTYCHAR2 [devindex];
! #ifdef sgi
  	    if (_getpty(pty, O_RDWR, 0600, 0)) {
  #else
  	    if ((*pty = open (ptydev, O_RDWR)) >= 0) {
***************
*** 2026,2033 ****
--- 2026,2035 ----
  			    HsSysError(cp_pipe[1], ERROR_TIOCSETC);
  #endif	/* TIOCSLTC */
  #ifdef TIOCLSET
+ #ifndef sgi
  		    if (ioctl (tty, TIOCLSET, (char *)&lmode) == -1)
  			    HsSysError(cp_pipe[1], ERROR_TIOCLSET);
+ #endif	/* sgi */
  #endif	/* TIOCLSET */
  #else	/* USE_SYSV_TERMIO */
  		    sg.sg_flags &= ~(ALLDELAY | XTABS | CBREAK | RAW);
