Andrew Eikum : shell32: Use ParseURL to detect URLs.
Module: wine Branch: master Commit: da31fc06a44b38d441a8310724989ea35d512e9f URL: http://source.winehq.org/git/wine.git/?a=commit;h=da31fc06a44b38d441a8310724... Author: Andrew Eikum <aeikum(a)codeweavers.com> Date: Mon Jun 28 12:06:24 2010 -0500 shell32: Use ParseURL to detect URLs. --- dlls/shell32/shfldr_desktop.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/dlls/shell32/shfldr_desktop.c b/dlls/shell32/shfldr_desktop.c index 30aea3b..46a725f 100644 --- a/dlls/shell32/shfldr_desktop.c +++ b/dlls/shell32/shfldr_desktop.c @@ -152,6 +152,7 @@ static HRESULT WINAPI ISF_Desktop_fnParseDisplayName (IShellFolder2 * iface, WCHAR szElement[MAX_PATH]; LPCWSTR szNext = NULL; LPITEMIDLIST pidlTemp = NULL; + PARSEDURLW urldata; HRESULT hr = S_OK; CLSID clsid; @@ -167,6 +168,8 @@ static HRESULT WINAPI ISF_Desktop_fnParseDisplayName (IShellFolder2 * iface, if (pchEaten) *pchEaten = 0; /* strange but like the original */ + urldata.cbSize = sizeof(urldata); + if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':') { szNext = GetNextElementW (lpszDisplayName, szElement, MAX_PATH); @@ -193,13 +196,8 @@ static HRESULT WINAPI ISF_Desktop_fnParseDisplayName (IShellFolder2 * iface, *ppidl = pidlTemp; return S_OK; } - else if (strchrW(lpszDisplayName,':')) + else if (SUCCEEDED(ParseURLW(lpszDisplayName, &urldata))) { - PARSEDURLW urldata; - - urldata.cbSize = sizeof(urldata); - ParseURLW(lpszDisplayName,&urldata); - if (urldata.nScheme == URL_SCHEME_SHELL) /* handle shell: urls */ { TRACE ("-- shell url: %s\n", debugstr_w(urldata.pszSuffix));
participants (1)
-
Alexandre Julliard