Commit b585b243 authored by Damjan Jovanovic's avatar Damjan Jovanovic Committed by Alexandre Julliard

shell32: Deal better with spaces in ASSOCSTR_COMMAND values.

parent c89fb41f
...@@ -320,16 +320,25 @@ static HRESULT ASSOC_GetExecutable(IQueryAssociationsImpl *This, ...@@ -320,16 +320,25 @@ static HRESULT ASSOC_GetExecutable(IQueryAssociationsImpl *This,
{ {
pszStart = pszCommand + 1; pszStart = pszCommand + 1;
pszEnd = strchrW(pszStart, '"'); pszEnd = strchrW(pszStart, '"');
if (pszEnd)
*pszEnd = 0;
*len = SearchPathW(NULL, pszStart, NULL, pathlen, path, NULL);
} }
else else
{ {
pszStart = pszCommand; pszStart = pszCommand;
pszEnd = strchrW(pszStart, ' '); for (pszEnd = pszStart; (pszEnd = strchrW(pszEnd, ' ')); pszEnd++)
{
WCHAR c = *pszEnd;
*pszEnd = 0;
if ((*len = SearchPathW(NULL, pszStart, NULL, pathlen, path, NULL)))
break;
*pszEnd = c;
}
if (!pszEnd)
*len = SearchPathW(NULL, pszStart, NULL, pathlen, path, NULL);
} }
if (pszEnd)
*pszEnd = 0;
*len = SearchPathW(NULL, pszStart, NULL, pathlen, path, NULL);
HeapFree(GetProcessHeap(), 0, pszCommand); HeapFree(GetProcessHeap(), 0, pszCommand);
if (!*len) if (!*len)
return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment