Re: daemon.c broken on OpenBSD
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Oct 24, 2005, 16:43 UTC
- Message-ID
- <Pine.LNX.4.64.0510240936450.10477@g5.osdl.org>
- In-Reply-To
- <86irvmzyq9.fsf@blue.stonehenge.com>
On Mon, 24 Oct 2005, Randal L. Schwartz wrote:
> > That probably won't work, because on OpenBSD, it's not a #define, but > rather a real function call. You can't just #undef that (unless my C > is even more rusty).
Sure you can.
The #undef won't necessarily _do_ anything, but it protects against systems where it is a #define. Then, the #define makes sure that if it's anything else, the #define will take precedence.
So yes, it's ugly, but it definitely is safe in practice, as long as the local headers are included before the system ones.
I think Junio's patch (that renames things) is possibly the "cleaner" alternative, but on the other hand there's a lot of advantages to just using the standard names. No chance of somebody using the wrong version by mistake.
Linus