Module: wine Branch: master Commit: 71e5f3c116ac4a299a7fa181386f6a9997e2438e URL: http://source.winehq.org/git/wine.git/?a=commit;h=71e5f3c116ac4a299a7fa18138...
Author: Francois Gouget fgouget@codeweavers.com Date: Wed Dec 13 18:06:45 2006 +0100
shell32: Fix FindExecutable() to return the executable path, not the whole command.
---
dlls/shell32/shlexec.c | 10 ++++++++++ dlls/shell32/tests/shlexec.c | 14 +++++++------- 2 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c index 940ce40..0d29395 100644 --- a/dlls/shell32/shlexec.c +++ b/dlls/shell32/shlexec.c @@ -707,6 +707,16 @@ UINT SHELL_FindExecutable(LPCWSTR lpPath } *p = '\0'; } + else + { + /* Truncate on first space, like Windows: + * http://support.microsoft.com/?scid=kb%3Ben-us%3B140724 + */ + WCHAR *p = lpResult; + while (*p != ' ' && *p != '\0') + p++; + *p='\0'; + } } } else /* Check win.ini */ diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c index cb05217..4375a9a 100644 --- a/dlls/shell32/tests/shlexec.c +++ b/dlls/shell32/tests/shlexec.c @@ -498,24 +498,24 @@ static filename_tests_t filename_tests[] {NULL, "%s\nonexistent.noassoc", 0x11, SE_ERR_FNF},
/* Standard tests */ - {NULL, "%s\test file.shlexec", 0x20, 33}, - {NULL, "%s\test file.shlexec.", 0x20, 33}, - {NULL, "%s\%%nasty%% $file.shlexec", 0x20, 33}, - {NULL, "%s/test file.shlexec", 0x20, 33}, + {NULL, "%s\test file.shlexec", 0x0, 33}, + {NULL, "%s\test file.shlexec.", 0x0, 33}, + {NULL, "%s\%%nasty%% $file.shlexec", 0x0, 33}, + {NULL, "%s/test file.shlexec", 0x0, 33},
/* Test filenames with no association */ {NULL, "%s\test file.noassoc", 0x0, SE_ERR_NOASSOC},
/* Test double extensions */ - {NULL, "%s\test file.noassoc.shlexec", 0x20, 33}, + {NULL, "%s\test file.noassoc.shlexec", 0x0, 33}, {NULL, "%s\test file.shlexec.noassoc", 0x0, SE_ERR_NOASSOC},
/* Test alternate verbs */ {"LowerL", "%s\nonexistent.shlexec", 0x11, SE_ERR_FNF}, {"LowerL", "%s\test file.noassoc", 0x0, SE_ERR_NOASSOC},
- {"QuotedLowerL", "%s\test file.shlexec", 0x20, 33}, - {"QuotedUpperL", "%s\test file.shlexec", 0x20, 33}, + {"QuotedLowerL", "%s\test file.shlexec", 0x0, 33}, + {"QuotedUpperL", "%s\test file.shlexec", 0x0, 33},
{NULL, NULL, 0} };