[net.sources.bugs] Rn bug patch #8

jonab@sdcrdcf.UUCP (Jonathan Biggar) (11/17/84)

System: rn version 4.1
Bug #: 8
Priority: LOW
Subject: <sys/ioctl> not found on V7
Index: common.h
From: scw@cepu.UUCP (Stephen C. Woods)

Description:
	I [scw] have discovered a minor installation problem with V7 systems.
	Seems that there is no <sys/ioctl.h> on v7.

Repeat-By:
	Compile rn on a V7 system and see if it complains.

Cheap fix:
	Delete the include of <sys/ioctl.h>.

Complete fix:
	Making the following assumptions:

	(1) <sys/ioctl.h> is the set of collected arg2's for all the drivers.
	(2) systems without <sys/ioctl.h> have them in the correct places
	    (like sgtty.h>
	
	I hacked common.h to conditionally include <sys/ioctl.h> if IOCTL
	was defined (which it is not).  Worked like a charm. So appended to
	the message are the diffs from Configure and common.h to avoid the
	problem.

Fix:	From rn, say "| patch -d DIR", where DIR is your rn source directory.
	Outside of rn, say "cd DIR; patch <thisarticle".  If you don't have
	the patch program, apply the following by hand, or get patch.

*** Configure.B	Thu Oct  4 11:29:51 1984
--- Configure	Fri Oct  5 07:18:24 1984
***************
*** 745,746
  
  : see if there is a vfork

--- 703,714 -----
  
+ : see if ioctl defs are in sgtty/termio or sys/ioctl
+ if $test -r /usr/include/sys/ioctl.h ; then
+     ioctl=define
+     $echo "sys/ioctl.h found"
+ else
+     ioctl=undef
+     $echo "sys/ioctl.h not found, assuming ioctl args are defined in sgtty.h"
+ if
+ 
+ 
  : see if there is a vfork
***************
*** 1275,1276
  termio="$termio"
  normsig="$normsig"

--- 1243,1245 -----
  termio="$termio"
+ ioctl="$ioctl"
  normsig="$normsig"
***************
*** 1357,1358
  export termio
  export normsig

--- 1326,1328 -----
  export termio
+ export ioctl
  export normsig
***************
*** 1437,1438
  #$termio	TERMIO		/* is this a termio system? */
  #$normsig	NORMSIG		/* use signal rather than sigset? */

--- 1407,1409 -----
  #$termio	TERMIO		/* is this a termio system? */
+ #$ioctl		IOCTL		/* are ioctl args all defined in one place?*/
  #$normsig	NORMSIG		/* use signal rather than sigset? */

*** common.h.B	Thu Oct  4 11:36:40 1984
--- common.h	Thu Oct  4 16:10:07 1984
***************
*** 45,46
  #include <signal.h>
  #include <sys/ioctl.h>

--- 45,49 -----
  #include <signal.h>
+ #ifdef IOCTL
  #include <sys/ioctl.h>
+ #endif IOCTL