MGR installation

Guy Harris guy at auspex.UUCP
Sat Jan 28 17:27:23 AEST 1989


 >>1:  sys/kbd.c has this silly line (line 23):
 >>    #   include "<sys/termios.h>"
 >>    This should probably be:
 >>    #include <sys/termios.h>
 >
 >	I think this is an difference between the compilers under SUNOS4
 >	and the older versions.  See the caveats below.

The line in question is silly under every UNIX C compiler I know of.  I
would expect *all* UNIX C compilers to interpret

	#include "<sys/termios.h>"

as a request to include the file whose name is, literally

	<sys/termios.h>

i.e., look for a directory named "<sys" (complete with "<") in the
standard include directories and the current directory, and look for a
file in that directory named "termios.h>" (complete with ">").  I can't
believe a line with that syntax would have compiled on *any* UNIX C
implementation, unless it had a "<sys" directory with a "termios.h>"
file in it (or there were such a directory in the MGR source).

In any case, the line should be

	#include <sys/termios.h>

everywhere.

BTW, even

	#include <sys/termios.h>

wouldn't have worked under *any* pre-4.0 system; <sys/termios.h> didn't
*exist* in Sunos prior to 4.0. 

>	One thing I noticed is there is code in mgr.c and copyright.c
>	that assume 4.2 type "select" calls, where the mask is an
>	integer.  PLEASE folks, take the time to upgrade this to 4.3ish
>	standards.  Under SUNOS4, it just doesn't work anymore! 

Actually, you *can* make it work with an integer mask; just don't use
"getdtablesize".  If you switch to the "fd_set" stuff, in its full
shining glory, it may not compile under 4.2BSD-derived systems
(including SunOS 3.x) any more, so either #ifdef it or use the 4.2BSD
scheme but with a file descriptor count <= 32.



More information about the Comp.sources.bugs mailing list