http://bugs.winehq.org/show_bug.cgi?id=7900
------- Additional Comments From ken@codeweavers.com 2007-30-03 15:45 ------- Actually, I'm hesitant to mail this to wine-patches because of several reasons. ShellExecuteEx is a big hairy beast, and yet it's an essential part of the code which can't be allowed to break.
I'm not confident that my hack for respecting the quoting won't break some other behavior.
Ideally, I'd rely on the test cases to keep me from breaking too much. Also, they'd help document the expected, verified behavior of ShellExecuteEx on Windows.
However, many of the existing tests fail on Windows. Also, there are far too few tests to cover anywhere close to the required behavior of ShellExecuteEx.
For example:
*) is it legal to call ShellExecuteEx with lpFile set to a command line with both a program and arguments?
*) SHELL_execute has a SearchPathW call in it. Under what circumstances is that required? What would break if it were removed?
*) If a portion of lpFile, truncated at a space, matches a file, what type of file must that be? If it's a directory, can we pretend it wasn't a match? If it's something other than an executable, can we ignore the match? What constitutes an executable in this context?
Frankly, I'm just not enough of an expert to answer these questions. So, I was hoping this bug would gather discussion.