Re: [PATCH] Fix compilation on OS X.
- From
tsuna <tsunanet@gmail.com>
- Date
- Jul 21, 2013, 06:10 UTC
- Message-ID
- <CAFKYj4dRFvTwM_x0mXsOLQCTuw9nAvh3b4bZ+Omg7M5DVNnVzA@mail.gmail.com>
- In-Reply-To
- <7vr4essbkv.fsf@alter.siamese.dyndns.org>
On Sat, Jul 20, 2013 at 10:53 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Actually, it is _wrong_ for us to rely on system header files to > define this symbol for us. Declaring "extern char **environ" is > responsibility of the user programs (like us).
Actually, that's right. The C99 standard doesn't mention anything about `environ' (only 7.20.4.5 defines `getenv') and POSIX explicitly states "the [environ] variable, which must be declared by the user if it is to be used directly" (http://pubs.opengroup.org/onlinepubs/9699919799/functions/environ.html)
Show 5 quoted lines
> When _GNU_SOURCE is defined glibc header (I think it is unistd.h) > seem to define it for us. > > Perhaps the correct fix is to revert ec535cc2 for everybody, and if > MinGW needs such a workaround, do it inside #ifndef MINGW?
That sounds right.
-- Benoit "tsuna" Sigoure