[9851] in Athena Bugs

home help back first fref pref prev next nref lref last post

decmips 7.4G: /usr/include/unistd.h

daemon@ATHENA.MIT.EDU (Calvin Clark)
Wed Sep 2 22:26:37 1992

Date: Wed, 2 Sep 92 22:26:24 -0400
From: Calvin Clark <ckclark@mit.edu>
To: bugs@Athena.MIT.EDU
Reply-To: ckclark@mit.edu

System name:		hodge
Type and version:	KN01 7.4G
Display type:		PMAX-MFB

What were you trying to do?

	Compile a program.

What's wrong:

	Someone's being a twit.  Look at the end of the file:

/* Kludge-around for POSIX typedef braindamage */

extern short /* gid_t */
        getegid(),
        getgid();

extern int /* off_t */
        lseek();

extern int /* pid_t */
        fork(),
        getpgrp(),
        getpid(),
        getppid(),
        setsid(),
        tcgetpgrp();

extern short /* uid_t */
        geteuid(),
        getuid();


What is this baloney?  Are they too lazy to include <sys/types.h> before
<unistd.h> in source code that uses these types (as POSIX specifies) or
are the header files so screwed up that things will break of they try?
What if someone decides that off_t should be long instead of int and
forgets to change it in both places?  (They can do that, you know.)

What should have happened:

	These declarations should be fixed, and any code that breaks by
fixing them should be fixed.  C compilers don't read your your comments,
and they certainly don't read your mind.  (Heck, you're lucky if you can
get the RISC C compiler to read your code.)

Please describe any relevant documentation references:

	N/A

home help back first fref pref prev next nref lref last post