On Nov 8, 2007 2:39 AM, Duncan Booth
<duncan.booth@suttoncourtenay.org.uk> wrote:
> Karl Fogel <kfogel@red-bean.com> wrote:
>
> >> A comma works fine if the whole list is double-quoted, and we should
> >> probably be quoting all parameters anyway to handle spaces in paths,
> >> etc. if APR isn't already.
> >
> > Hmmm. But this isn't going through a shell. If we put double quotes
> > around something, then the double quotes will actually be there in the
> > argument, right? That is, if you write your hook program in C, then
> > argv[3][0] == '"', no?
>
> No
>
> It doesn't matter on windows: the double quotes are handled by the
> application not the shell. Windows respects the quote marks when it is
> looking for things like command separators, but the entire string is
> passed through unaltered to the application, and the application then
> has to parse the string. If it is a C runtime then argv is generated by
> the runtime, not by the shell.
[snip]
And APR is automatically quoting arguments where has_spaces is
true...but shell commands (not programs) will also get arguments split
up by comma and semicolon and possibly other special characters (pipe,
output redirector, etc) if they are not quoted, and APR is not
handling those, it appears. A colon works, though (ie, does not act
as a argument separator in the shell).
DJ
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Nov 8 14:53:10 2007