Subject: Re: [PATCH] mv: Fix spurious warning when moving a file in presence of submodules

From: Jonathan Nieder <[email-masked]>
Date: Sun, 13 Oct 2013 22:40:48 -0700

Matthieu Moy wrote:
> Jens Lehmann <[email-masked]> writes:

>>  static struct lock_file lock_file;
>> +#define SUBMODULE_WITH_GITDIR ((const char *)1)
>
> I don't like very much hardcoded addresses like this. Are you 100% sure
> address 1 will never be returned by xstrdup on any platform? The risk is
> small if not negligible, but I'm unconfortable with this.

I haven't checked what the standards say, but in practice I think it's
okay.  An alternative would be to do something like

	static const char SUBMODULE_WITH_GITDIR[] = "*** (submodule with gitdir) ***";

which is a bit more error-prone because attempts to use it as a string
wouldn't crash.  We use (void *) 1 in the same way a few places currently.

Thanks, both.