Re: [PATCH] Auto-quote config values in config.c:store_write_pair()
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 9, 2007, 11:44 UTC
- Message-ID
- <Pine.LNX.4.63.0701091242330.22628@wbgn013.biozentrum.uni-wuerzburg.de>
- In-Reply-To
- <7vps9ompix.fsf@assigned-by-dhcp.cox.net>
Hi,
[Cc'ing list]
On Tue, 9 Jan 2007, Junio C Hamano wrote:
Show 24 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> > On Tue, 9 Jan 2007, Brian Gernhardt wrote:
> >
> >> + if (quote)
> >> + write(fd, "\"", 1);
> >> for (i = 0; value[i]; i++)
> >> switch (value[i]) {
> >> case '\n': write(fd, "\\n", 2); break;
> >> @@ -508,6 +520,8 @@ static void store_write_pair(int fd, const char* key, const char* value)
> >> case '"': case '\\': write(fd, "\\", 1);
> >> default: write(fd, value+i, 1);
> >> }
> >> + if (quote)
> >> + write(fd, "\"", 1);
> >
> > AFAICS this misses the case where you have to quote a single '"'.
>
> $ git-repo-config qu.ot 'ab"cd'
> $ git-repo-config --get qu.ot
> ab"cd
> $ tail -n 2 .git/config
> [qu]
> ot = ab\"cdOooopps! Even more embarassing: you can see it in the diff (it is line 508 of the original code). And most embarassing: AFAICT I wrote the code myself!!!
So I shut up.
Ciao, Dscho