From: Ramsay Jones Date: Fri, 22 Jan 2010 19:28:31 GMT Subject: Re: [PATCH 0/4] misc. msvc patches Message-ID: <4B59FC5F.8010901@ramsay1.demon.co.uk> In-Reply-To: <7vmy081okq.fsf@alter.siamese.dyndns.org> Junio C Hamano wrote: > I only looked at regex/regex.c and it really is a real bugfix as the > structure fields are of pointer type ;-). Hmmm, well ... I would call it a typo fixup rather than a bugfix, since (luckily) there is no actual bug here. The expression on the rhs of the assignment is a valid null pointer expression; since regoff_t is an alias for int the expression amounts to '(int) 0', so the cast is a no-op and is equivalent to an "integer constant with value zero". In C, an "integer constant with value zero (or any such constant cast to void *)" is a null pointer constant. (Many people wish it wasn't...) Having said that, I would be *very* surprised if the original author had intended to type anything other than '(regoff_t *) 0'. Hence I suspect this is a typo. [Hmm, I haven't actually looked at the assembler to check that the generated object code is correct, but not even msvc could get this wrong ... :-P ] ATB, Ramsay Jones