From: Junio C Hamano Date: Wed, 12 Dec 2007 08:32:56 GMT Subject: Re: 'git fast-export' is crashing on the gcc repo Message-ID: <7v3au89utj.fsf@gitster.siamese.dyndns.org> In-Reply-To: Nicolas Pitre writes: > On Wed, 12 Dec 2007, Alex Riesen wrote: > >> Nicolas Pitre, Tue, Dec 11, 2007 23:06:42 +0100: >> > >> > Well, ignore the above. It seems that most of stdio doesn't set errno >> > so the above is crap. >> > >> >> Well, it had no reason to in this case. It's not an error. >> It does not even have to do a syscall. > > Which is why I later agreed with your patch. Still, I like your swapping of size and nmemb parameters, regardless of the "don't bother calling fwrite(3) if size is zero" fix. We are writing 1 element of size n-byte and expecting the call to return 1. It may be argued that writing one element of size 0-byte should always write 1 element (without actually having to go down to write(2), obviously) successfully and returning 0 from fwrite(3) is a bug ;-) No, I am just kidding. I checked with POSIX and it clearly says it should return 0 if size or nmemb is zero.