Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > * From http://www.computerhope.com/cmd.htm:
> > *
> > * 1. If all of the following conditions are met, then quote characters
> > * on the command line are preserved:
> > *
> > * - no /S switch
> > * - exactly two quote characters
> > * - no special characters between the two quote characters, where special
> > * is one of: &<>()@^|
> > * - there are one or more whitespace characters between the the two quote
> > * characters
> > * - the string between the two quote characters is the name of an
> > * executable file.
>
> Hmm, that suggests that our code works *only* if there's white space in
> all the paths !? Seems unlikely that this description is fully correct,
> or we'd have had problems before.
It is saying _all_ these have to be true, and we already quote
executables, and the string, so we always have more than two quotes:
* Win32 needs double quotes at the beginning and end of system()* strings. If not, it gets confused with multiple
quotedstrings.* It also requires double-quotes around the executable name and* any files used for redirection. Other
argscan use single-quotes.
-- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +