Module: wine Branch: refs/heads/master Commit: 52645e11444cbbd62ad07efa0c6c7873facc35bc URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=52645e11444cbbd62ad07efa...
Author: Dmitry Timoshkov dmitry@codeweavers.com Date: Mon Mar 13 13:44:41 2006 +0800
shell32: Add parameter formatting rule to the command line if there isn't any.
---
dlls/shell32/shlexec.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c index f5b1e88..1f4638a 100644 --- a/dlls/shell32/shlexec.c +++ b/dlls/shell32/shlexec.c @@ -848,7 +848,14 @@ static UINT_PTR execute_from_key(LPWSTR /* Is there a replace() function anywhere? */ cmdlen /= sizeof(WCHAR); cmd[cmdlen] = '\0'; - SHELL_ArgifyW(param, sizeof(param)/sizeof(WCHAR), cmd, lpFile, psei->lpIDList, szCommandline); + if (!SHELL_ArgifyW(param, sizeof(param)/sizeof(WCHAR), cmd, lpFile, psei->lpIDList, szCommandline)) + { + /* looks like there is no %1 param in the cmd, add one */ + static const WCHAR oneW[] = { ' ','"','%','1','"',0 }; + strcatW(cmd, oneW); + SHELL_ArgifyW(param, sizeof(param)/sizeof(WCHAR), cmd, lpFile, psei->lpIDList, szCommandline); + } + TRACE("executing: %s\n", debugstr_w(param)); retval = execfunc(param, env, FALSE, psei, psei_out); } else