else if (wcsncmp(p, arg_cd, ARRAY_SIZE( arg_cd ))==0)
{
p += ARRAY_SIZE( arg_cd );
p = copy_path_string(parameters->selection,p);
This is wrong. What if there are other options following it? What is the problem exactly? Please open a bug report for this.
Actually, I don't think /cd is a valid option. I can't find any documentation about it anywhere. It's also not listed in https://www.geoffchappell.com/studies/windows/shell/explorer/cmdline.htm. On Windows, you can even run 'explorer /nonsense' and open the explorer window. So it's more likely to be ignoring all unrecognizable options.
} else {
Thanks for your comment, you're right, I submit Bug 48816 to describe the problem. And may I need to submit a patch to make explorer ignore all unrecognizing args?
At 2020-03-26 11:52:59, "Zhiyi Zhang" zzhang@codeweavers.com wrote:
+ else if (wcsncmp(p, arg_cd, ARRAY_SIZE( arg_cd ))==0) + { + p += ARRAY_SIZE( arg_cd ); + p = copy_path_string(parameters->selection,p); This is wrong. What if there are other options following it? What is the problem exactly? Please open a bug report for this.
Actually, I don't think /cd is a valid option. I can't find any documentation about it anywhere. It's also not listed in https://www.geoffchappell.com/studies/windows/shell/explorer/cmdline.htm. On Windows, you can even run 'explorer /nonsense' and open the explorer window. So it's more likely to be ignoring all unrecognizable options.
+ } else {
From your bug report and my tests on Windows 10, '/cd' is a valid option. But the path have to follow a comma, which have to follow '/cd'. So the form of 'explorer /cd,path' is valid.
A patch is always welcomed.
Thanks, Zhiyi
On 3/26/20 8:52 PM, Zhipeng Zhao wrote:
Thanks for your comment, you're right, I submit Bug 48816 to describe the problem. And may I need to submit a patch to make explorer ignore all unrecognizing args?
At 2020-03-26 11:52:59, "Zhiyi Zhang" zzhang@codeweavers.com wrote:
+ else if (wcsncmp(p, arg_cd, ARRAY_SIZE( arg_cd ))==0) + { + p += ARRAY_SIZE( arg_cd ); + p = copy_path_string(parameters->selection,p);
This is wrong. What if there are other options following it? What is the problem exactly? Please open a bug report for this. Actually, I don't think /cd is a valid option. I can't find any documentation about it anywhere. It's also not listed in https://www.geoffchappell.com/studies/windows/shell/explorer/cmdline.htm. On Windows, you can even run 'explorer /nonsense' and open the explorer window. So it's more likely to be ignoring all unrecognizable options.
+ } else {