Re: Alternative approach to the git config NULL value checking patches..
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Feb 10, 2008, 22:08 UTC
- Message-ID
- <alpine.LFD.1.00.0802101406560.2896@woody.linux-foundation.org>
- In-Reply-To
- <7vir0wfqrz.fsf@gitster.siamese.dyndns.org>
On Sun, 10 Feb 2008, Junio C Hamano wrote:
Show 7 quoted lines
> > I should have mentioned the reason why I did not suggest doing > it this way in my [Janitor] message. > > It is not "suttle difference between true and empty". Empty > means false, and with this approach, it switches the meaning of > valueless form of config to quite the opposite.
No it does not.
Show 6 quoted lines
> will now need to be changed to: > > if (value == config_true) > Ah we have true; > else if (!*value) > Ok this is false;
And that was done by my patch.
Show 6 quoted lines
> still need to be fixed to:
>
> if (value == config_true)
> die("oops '%s' is not a bool", var);
> else if (!strcmp(value, "somevalue")
> Ok let's use somevalue;And this is different from checking against NULL exactly how?
Show 8 quoted lines
> > This also means that code (notably the value regexp parsing) that does > > something like > > > > value ? value : "" > > > > just automatically can go away, and just use 'value' directly. > > Yes, but that's broken already, isn't it?
No, it was what the regex parsing logic was - empty matches empty. Whether we really want it or not, I dunno.
Linus