Dmitry Timoshkov : shell32:
Add parameter formatting rule to the command line if there isn't any.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Mar 14 12:04:34 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 52645e11444cbbd62ad07efa0c6c7873facc35bc
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=52645e11444cbbd62ad07efa0c6c7873facc35bc
Author: Dmitry Timoshkov <dmitry at 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
More information about the wine-cvs
mailing list