From 52645e11444cbbd62ad07efa0c6c7873facc35bc Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Mon, 13 Mar 2006 13:44:41 +0800 Subject: [PATCH] shell32: Add parameter formatting rule to the command line if there isn't any. --- dlls/shell32/shlexec.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c index f5b1e88c127..1f4638a8f5b 100644 --- a/dlls/shell32/shlexec.c +++ b/dlls/shell32/shlexec.c @@ -848,7 +848,14 @@ static UINT_PTR execute_from_key(LPWSTR key, LPCWSTR lpFile, WCHAR *env, LPCWSTR /* 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 -- 2.11.4.GIT