Re: [msysGit] Re: [PATCH 1/2] MSVC: Do not close stdout to prevent a crash
Am 20.11.2011 04:27, schrieb Junio C Hamano:
Show 21 quoted lines
> Andreas Schwab <schwab@linux-m68k.org> writes:
>
>> Junio C Hamano <gitster@pobox.com> writes:
>>
>>> We have relied on fstat(-1, &st) to correctly error out, and if MSVC build
>>> crashes, it is a bug in its fstat() emulation, I would think.
>>
>> fileno(stdout) is alread wrong if stdout was closed.
>
> The "-1" in my message comes from here:
>
> DESCRIPTION
>
> The fileno() function shall return the integer file descriptor
> associated with the stream pointed to by stream.
>
> RETURN VALUE
>
> Upon successful completion, fileno() shall return the integer value of
> the file descriptor associated with stream. Otherwise, the value -1
> shall be returned and errno set to indicate the error.
But in the description of fclose() there is also:
After the call to fclose(), any use of stream results in undefined
behavior.
And we do call fclose(stdout) in cmd_format_patch.
-- Hannes