Review: Needs Fixing

Why does the process module execute a shell command? I would expect it to 
behave like execl(), not exec() (which is not part of POSIX as far as I can 
tell).

Oh, yeah, ugh - I see that process.cpp collects the (separate) command-line 
arguments from the XQuery functions and concatenates them together with spaces. 
That's broken, IMHO. It uses double-quotes, but that won't work for arguments 
that contain double-quotes.

I'm not sure how to do all this on Windows, although I'm confident there's a 
better way. But on Unix this implementation is simply not correct. That 
probably explains to some degree why the behaviour on Fedora is weird - it's 
not actually getting the return value of the executed command, but of some 
intermediate shell which is evaluating that command.
-- 
https://code.launchpad.net/~zorba-coders/zorba/bug1086323-processExitCode/+merge/137966
Your team Zorba Coders is subscribed to branch lp:zorba/process-module.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to     : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp

Reply via email to