Date: Tue, 26 Feb 2002 16:37:44 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Mark Murray <mark@grondar.za> Cc: <cvs-committers@FreeBSD.org>, <cvs-all@FreeBSD.org> Subject: Re: cvs commit: src/include grp.h Message-ID: <20020226162341.O43512-100000@gamplex.bde.org> In-Reply-To: <200202260015.g1Q0FgPA005896@grimreaper.grondar.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 26 Feb 2002, Mark Murray wrote: > > On Mon, 25 Feb 2002, Andrey A. Chernov wrote: > > > > > On Mon, Feb 25, 2002 at 05:55:48 -0800, Maxim Sobolev wrote: > > > > sobomax 2002/02/25 05:55:48 PST > > > > > > > > Modified files: > > > > include grp.h > > > > Log: > > > > Backout rev.1.5 - it seems that it's posixly correct that the program > > > > needs to include <sys/types.h> before <grp.h>. > > > > Thanks. You should have seen my recent 10-20 commits for dependencies on > > namespace pollution in <sys/stat.h>, and some of my hundreds of commits > > for namespace pollution not so recently. I don't want any new namespace > > pollution. > > pwd.h also currently includes sys/types.h (and has done for a while). > Should this also be removed for NS pollution reasons? No. It is very old namespace pollution (it has been there since rev.1.1 like that in <unistd.h>), so it is too late to fix it in ways that are wrong in current standards. Even removing the pollution will cause a few problems. Hopefully not as many as in <sys/stat.h>, since <sys/types.h> is not so polluted. AFAIR, its pollution consists mainly of: - select macros (POSIX.1-2001 does something about this) - ntoh* and endian functions and macros (mostly already fixed in -current by mike) - too many typedefs for type names ending in _t. Not a bug, but it is a bug if applications depend on the nonstandard ones. - typedefs for type names not ending in _t. Mostly compatibility cruft for old BSD and SYSV types, but a large number of things depend on the old BSD types (u_char, etc. We have an even sillier problem for the not-so-old BSD fixed-width types. They are spelled u_int8_t, etc. in FreeBSD but uint8_t etc. in C99. I expect the old spellings will take longer to go away than __P(()) :-(. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020226162341.O43512-100000>