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