mirror of
https://github.com/reactos/reactos.git
synced 2024-08-03 10:00:56 +00:00
Sync to Wine-20050111:
Michael Stefaniuc <mstefani@redhat.de> - Do not check for non NULL pointer before HeapFree'ing it. It's redundant. Hans Leidekker <hans@it.vu.nl> - Implement and test URLIS_URL flag in UrlIs(). Jon Griffiths <jon_p_griffiths@yahoo.com> - Const correctness fix. - Remove unneeded headers to reduce unneeded rebuilds. - Include shlwapi.h to get prototypes, and correct 2 wrong ones. - Documentation fix. Michael Stefaniuc <mstefani@redhat.de> - Missing HeapFree's + 1 LocalFree (found by smatch). Eric Pouech <pouech-eric@wanadoo.fr> - Removed excessive statement (break after return or goto, not useful break, not needed vars...) Jacek Caban <jack@itma.pwr.wroc.pl> - Get rid of W->A calls. Mike McCormack <mike@codeweavers.com> - Use CreateEventW in preference to CreateEventA for unnamed events. Francois Gouget <fgouget@free.fr> - Remove unneeded NULL casts. James Hawkins <truiken@gmail.com> - use only stored result of Interlocked* in AddRef/Release - expand TRACEs to display the ref count svn path=/trunk/; revision=13001
This commit is contained in:
parent
bc33e47045
commit
2b7c8d6391
|
@ -273,8 +273,7 @@ INT_PTR WINAPI SHMessageBoxCheckA(HWND hWnd, LPCSTR lpszText, LPCSTR lpszTitle,
|
|||
|
||||
iRetVal = SHMessageBoxCheckW(hWnd, szTextBuff, lpszTitle ? szTitleBuff : NULL,
|
||||
dwType, iRet, szIdBuff);
|
||||
if (szTextBuff)
|
||||
HeapFree(GetProcessHeap(), 0, szTextBuff);
|
||||
HeapFree(GetProcessHeap(), 0, szTextBuff);
|
||||
return iRetVal;
|
||||
}
|
||||
|
||||
|
|
|
@ -42,15 +42,12 @@
|
|||
#include "shlguid.h"
|
||||
#include "wingdi.h"
|
||||
#include "shlobj.h"
|
||||
#include "olectl.h"
|
||||
#include "shellapi.h"
|
||||
#include "commdlg.h"
|
||||
#include "wine/unicode.h"
|
||||
#include "servprov.h"
|
||||
#include "winreg.h"
|
||||
#include "wine/debug.h"
|
||||
#include "shlwapi.h"
|
||||
#include "winnt.h"
|
||||
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||
|
@ -611,7 +608,7 @@ HRESULT WINAPI GetAcceptLanguagesA( LPSTR langbuf, LPDWORD buflen)
|
|||
*buflen, NULL, NULL);
|
||||
*buflen = buflenW ? convlen : 0;
|
||||
|
||||
if(langbufW) HeapFree(GetProcessHeap(), 0, langbufW);
|
||||
HeapFree(GetProcessHeap(), 0, langbufW);
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
@ -621,9 +618,9 @@ HRESULT WINAPI GetAcceptLanguagesA( LPSTR langbuf, LPDWORD buflen)
|
|||
* Convert a GUID to a string.
|
||||
*
|
||||
* PARAMS
|
||||
* guid [I] GUID to convert
|
||||
* str [O] Destination for string
|
||||
* cmax [I] Length of output buffer
|
||||
* guid [I] GUID to convert
|
||||
* lpszDest [O] Destination for string
|
||||
* cchMax [I] Length of output buffer
|
||||
*
|
||||
* RETURNS
|
||||
* The length of the string created.
|
||||
|
@ -651,15 +648,35 @@ INT WINAPI SHStringFromGUIDA(REFGUID guid, LPSTR lpszDest, INT cchMax)
|
|||
/*************************************************************************
|
||||
* @ [SHLWAPI.24]
|
||||
*
|
||||
* Unicode version of SHStringFromGUIDA.
|
||||
* Convert a GUID to a string.
|
||||
*
|
||||
* PARAMS
|
||||
* guid [I] GUID to convert
|
||||
* str [O] Destination for string
|
||||
* cmax [I] Length of output buffer
|
||||
*
|
||||
* RETURNS
|
||||
* The length of the string created.
|
||||
*/
|
||||
INT WINAPI SHStringFromGUIDW(REFGUID guid, LPWSTR lpszDest, INT cchMax)
|
||||
{
|
||||
char xguid[40];
|
||||
INT iLen = SHStringFromGUIDA(guid, xguid, cchMax);
|
||||
WCHAR xguid[40];
|
||||
INT iLen;
|
||||
static const WCHAR wszFormat[] = {'{','%','0','8','l','X','-','%','0','4','X','-','%','0','4','X','-',
|
||||
'%','0','2','X','%','0','2','X','-','%','0','2','X','%','0','2','X','%','0','2','X','%','0','2',
|
||||
'X','%','0','2','X','%','0','2','X','}',0};
|
||||
|
||||
if (iLen)
|
||||
MultiByteToWideChar(CP_ACP, 0, xguid, -1, lpszDest, cchMax);
|
||||
TRACE("(%s,%p,%d)\n", debugstr_guid(guid), lpszDest, cchMax);
|
||||
|
||||
sprintfW(xguid, wszFormat, guid->Data1, guid->Data2, guid->Data3,
|
||||
guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3],
|
||||
guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7]);
|
||||
|
||||
iLen = strlenW(xguid) + 1;
|
||||
|
||||
if (iLen > cchMax)
|
||||
return 0;
|
||||
memcpy(lpszDest, xguid, iLen*sizeof(WCHAR));
|
||||
return iLen;
|
||||
}
|
||||
|
||||
|
@ -1940,7 +1957,7 @@ HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID)
|
|||
mi.fMask = MIIM_SUBMENU;
|
||||
|
||||
if (!GetMenuItemInfoA(hMenu, uID, 0, &mi))
|
||||
return (HMENU)NULL;
|
||||
return NULL;
|
||||
|
||||
return mi.hSubMenu;
|
||||
}
|
||||
|
@ -2422,8 +2439,8 @@ HWND WINAPI SHCreateWorkerWindowA(LONG wndProc, HWND hWndParent, DWORD dwExStyle
|
|||
wc.cbClsExtra = 0;
|
||||
wc.cbWndExtra = 4;
|
||||
wc.hInstance = shlwapi_hInstance;
|
||||
wc.hIcon = (HICON)0;
|
||||
wc.hCursor = LoadCursorA((HINSTANCE)0, (LPSTR)IDC_ARROW);
|
||||
wc.hIcon = NULL;
|
||||
wc.hCursor = LoadCursorA(NULL, (LPSTR)IDC_ARROW);
|
||||
wc.hbrBackground = (HBRUSH)COLOR_BTNSHADOW;
|
||||
wc.lpszMenuName = NULL;
|
||||
wc.lpszClassName = szClass;
|
||||
|
@ -2709,8 +2726,8 @@ HWND WINAPI SHCreateWorkerWindowW(LONG wndProc, HWND hWndParent, DWORD dwExStyle
|
|||
wc.cbClsExtra = 0;
|
||||
wc.cbWndExtra = 4;
|
||||
wc.hInstance = shlwapi_hInstance;
|
||||
wc.hIcon = (HICON)0;
|
||||
wc.hCursor = LoadCursorA((HINSTANCE)0, (LPSTR)IDC_ARROW);
|
||||
wc.hIcon = NULL;
|
||||
wc.hCursor = LoadCursorW(NULL, (LPWSTR)IDC_ARROW);
|
||||
wc.hbrBackground = (HBRUSH)COLOR_BTNSHADOW;
|
||||
wc.lpszMenuName = NULL;
|
||||
wc.lpszClassName = szClass;
|
||||
|
@ -2723,10 +2740,10 @@ HWND WINAPI SHCreateWorkerWindowW(LONG wndProc, HWND hWndParent, DWORD dwExStyle
|
|||
hWndParent, hMenu, shlwapi_hInstance, 0);
|
||||
if (hWnd)
|
||||
{
|
||||
SetWindowLongA(hWnd, DWL_MSGRESULT, z);
|
||||
SetWindowLongW(hWnd, DWL_MSGRESULT, z);
|
||||
|
||||
if (wndProc)
|
||||
SetWindowLongPtrA(hWnd, GWLP_WNDPROC, wndProc);
|
||||
SetWindowLongPtrW(hWnd, GWLP_WNDPROC, wndProc);
|
||||
}
|
||||
return hWnd;
|
||||
}
|
||||
|
|
|
@ -94,8 +94,7 @@ static ULONG WINAPI IStream_fnRelease(IStream *iface)
|
|||
{
|
||||
TRACE(" destroying SHReg IStream (%p)\n",This);
|
||||
|
||||
if (This->pbBuffer)
|
||||
HeapFree(GetProcessHeap(),0,This->pbBuffer);
|
||||
HeapFree(GetProcessHeap(),0,This->pbBuffer);
|
||||
|
||||
if (This->hKey)
|
||||
RegCloseKey(This->hKey);
|
||||
|
@ -388,8 +387,7 @@ IStream * WINAPI SHOpenRegStream2A(HKEY hKey, LPCSTR pszSubkey,
|
|||
dwType == REG_BINARY)
|
||||
return IStream_Create(hStrKey, lpBuff, dwLength);
|
||||
|
||||
if (lpBuff)
|
||||
HeapFree (GetProcessHeap(), 0, lpBuff);
|
||||
HeapFree (GetProcessHeap(), 0, lpBuff);
|
||||
if (hStrKey)
|
||||
RegCloseKey(hStrKey);
|
||||
return NULL;
|
||||
|
@ -418,8 +416,7 @@ IStream * WINAPI SHOpenRegStream2W(HKEY hKey, LPCWSTR pszSubkey,
|
|||
dwType == REG_BINARY)
|
||||
return IStream_Create(hStrKey, lpBuff, dwLength);
|
||||
|
||||
if (lpBuff)
|
||||
HeapFree (GetProcessHeap(), 0, lpBuff);
|
||||
HeapFree (GetProcessHeap(), 0, lpBuff);
|
||||
if (hStrKey)
|
||||
RegCloseKey(hStrKey);
|
||||
return NULL;
|
||||
|
|
|
@ -32,15 +32,10 @@
|
|||
|
||||
#define NONAMELESSUNION
|
||||
#define NONAMELESSSTRUCT
|
||||
#include "wine/unicode.h"
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winreg.h"
|
||||
#include "winternl.h"
|
||||
#define NO_SHLWAPI_STREAM
|
||||
#include "shlwapi.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||
|
|
|
@ -599,7 +599,7 @@ LPWSTR WINAPI StrRStrIW(LPCWSTR lpszStr, LPCWSTR lpszEnd, LPCWSTR lpszSearch)
|
|||
|
||||
while (lpszStr <= lpszEnd && *lpszStr)
|
||||
{
|
||||
if (!ChrCmpIA(*lpszSearch, *lpszStr))
|
||||
if (!ChrCmpIW(*lpszSearch, *lpszStr))
|
||||
{
|
||||
if (!StrCmpNIW(lpszStr, lpszSearch, iLen))
|
||||
lpszRet = (LPWSTR)lpszStr;
|
||||
|
@ -2186,7 +2186,7 @@ INT WINAPI StrCmpLogicalW(LPCWSTR lpszStr, LPCWSTR lpszComp)
|
|||
return 1;
|
||||
else
|
||||
{
|
||||
iDiff = SHLWAPI_ChrCmpHelperA(*lpszStr,*lpszComp,NORM_IGNORECASE);
|
||||
iDiff = SHLWAPI_ChrCmpHelperW(*lpszStr,*lpszComp,NORM_IGNORECASE);
|
||||
if (iDiff > 0)
|
||||
return 1;
|
||||
else if (iDiff < 0)
|
||||
|
@ -2208,12 +2208,12 @@ typedef struct tagSHLWAPI_BYTEFORMATS
|
|||
LONGLONG dLimit;
|
||||
double dDivisor;
|
||||
double dNormaliser;
|
||||
LPCSTR lpszFormat;
|
||||
CHAR wPrefix;
|
||||
LPCWSTR lpwszFormat;
|
||||
WCHAR wPrefix;
|
||||
} SHLWAPI_BYTEFORMATS;
|
||||
|
||||
/*************************************************************************
|
||||
* StrFormatByteSize64A [SHLWAPI.@]
|
||||
* StrFormatByteSizeW [SHLWAPI.@]
|
||||
*
|
||||
* Create a string containing an abbreviated byte count of up to 2^63-1.
|
||||
*
|
||||
|
@ -2228,12 +2228,12 @@ typedef struct tagSHLWAPI_BYTEFORMATS
|
|||
* NOTES
|
||||
* There is no StrFormatByteSize64W function, it is called StrFormatByteSizeW().
|
||||
*/
|
||||
LPSTR WINAPI StrFormatByteSize64A(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
|
||||
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
|
||||
{
|
||||
static const char szBytes[] = "%ld bytes";
|
||||
static const char sz3_0[] = "%3.0f";
|
||||
static const char sz3_1[] = "%3.1f";
|
||||
static const char sz3_2[] = "%3.2f";
|
||||
static const WCHAR wszBytes[] = {'%','l','d',' ','b','y','t','e','s',0};
|
||||
static const WCHAR wsz3_0[] = {'%','3','.','0','f',0};
|
||||
static const WCHAR wsz3_1[] = {'%','3','.','1','f',0};
|
||||
static const WCHAR wsz3_2[] = {'%','3','.','2','f',0};
|
||||
|
||||
#define KB ((ULONGLONG)1024)
|
||||
#define MB (KB*KB)
|
||||
|
@ -2243,25 +2243,25 @@ LPSTR WINAPI StrFormatByteSize64A(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
|
|||
|
||||
static const SHLWAPI_BYTEFORMATS bfFormats[] =
|
||||
{
|
||||
{ 10*KB, 10.24, 100.0, sz3_2, 'K' }, /* 10 KB */
|
||||
{ 100*KB, 102.4, 10.0, sz3_1, 'K' }, /* 100 KB */
|
||||
{ 1000*KB, 1024.0, 1.0, sz3_0, 'K' }, /* 1000 KB */
|
||||
{ 10*MB, 10485.76, 100.0, sz3_2, 'M' }, /* 10 MB */
|
||||
{ 100*MB, 104857.6, 10.0, sz3_1, 'M' }, /* 100 MB */
|
||||
{ 1000*MB, 1048576.0, 1.0, sz3_0, 'M' }, /* 1000 MB */
|
||||
{ 10*GB, 10737418.24, 100.0, sz3_2, 'G' }, /* 10 GB */
|
||||
{ 100*GB, 107374182.4, 10.0, sz3_1, 'G' }, /* 100 GB */
|
||||
{ 1000*GB, 1073741824.0, 1.0, sz3_0, 'G' }, /* 1000 GB */
|
||||
{ 10*TB, 10485.76, 100.0, sz3_2, 'T' }, /* 10 TB */
|
||||
{ 100*TB, 104857.6, 10.0, sz3_1, 'T' }, /* 100 TB */
|
||||
{ 1000*TB, 1048576.0, 1.0, sz3_0, 'T' }, /* 1000 TB */
|
||||
{ 10*PB, 10737418.24, 100.00, sz3_2, 'P' }, /* 10 PB */
|
||||
{ 100*PB, 107374182.4, 10.00, sz3_1, 'P' }, /* 100 PB */
|
||||
{ 1000*PB, 1073741824.0, 1.00, sz3_0, 'P' }, /* 1000 PB */
|
||||
{ 0, 10995116277.76, 100.00, sz3_2, 'E' } /* EB's, catch all */
|
||||
{ 10*KB, 10.24, 100.0, wsz3_2, 'K' }, /* 10 KB */
|
||||
{ 100*KB, 102.4, 10.0, wsz3_1, 'K' }, /* 100 KB */
|
||||
{ 1000*KB, 1024.0, 1.0, wsz3_0, 'K' }, /* 1000 KB */
|
||||
{ 10*MB, 10485.76, 100.0, wsz3_2, 'M' }, /* 10 MB */
|
||||
{ 100*MB, 104857.6, 10.0, wsz3_1, 'M' }, /* 100 MB */
|
||||
{ 1000*MB, 1048576.0, 1.0, wsz3_0, 'M' }, /* 1000 MB */
|
||||
{ 10*GB, 10737418.24, 100.0, wsz3_2, 'G' }, /* 10 GB */
|
||||
{ 100*GB, 107374182.4, 10.0, wsz3_1, 'G' }, /* 100 GB */
|
||||
{ 1000*GB, 1073741824.0, 1.0, wsz3_0, 'G' }, /* 1000 GB */
|
||||
{ 10*TB, 10485.76, 100.0, wsz3_2, 'T' }, /* 10 TB */
|
||||
{ 100*TB, 104857.6, 10.0, wsz3_1, 'T' }, /* 100 TB */
|
||||
{ 1000*TB, 1048576.0, 1.0, wsz3_0, 'T' }, /* 1000 TB */
|
||||
{ 10*PB, 10737418.24, 100.00, wsz3_2, 'P' }, /* 10 PB */
|
||||
{ 100*PB, 107374182.4, 10.00, wsz3_1, 'P' }, /* 100 PB */
|
||||
{ 1000*PB, 1073741824.0, 1.00, wsz3_0, 'P' }, /* 1000 PB */
|
||||
{ 0, 10995116277.76, 100.00, wsz3_2, 'E' } /* EB's, catch all */
|
||||
};
|
||||
char szBuff[32];
|
||||
char szAdd[4];
|
||||
WCHAR wszBuff[32];
|
||||
WCHAR wszAdd[] = {' ','?','B',0};
|
||||
double dBytes;
|
||||
UINT i = 0;
|
||||
|
||||
|
@ -2272,7 +2272,7 @@ LPSTR WINAPI StrFormatByteSize64A(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
|
|||
|
||||
if (llBytes < 1024) /* 1K */
|
||||
{
|
||||
snprintf (lpszDest, cchMax, szBytes, (long)llBytes);
|
||||
snprintfW(lpszDest, cchMax, wszBytes, (long)llBytes);
|
||||
return lpszDest;
|
||||
}
|
||||
|
||||
|
@ -2298,30 +2298,26 @@ LPSTR WINAPI StrFormatByteSize64A(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
|
|||
|
||||
dBytes = floor(dBytes / bfFormats[i].dDivisor) / bfFormats[i].dNormaliser;
|
||||
|
||||
sprintf(szBuff, bfFormats[i].lpszFormat, dBytes);
|
||||
szAdd[0] = ' ';
|
||||
szAdd[1] = bfFormats[i].wPrefix;
|
||||
szAdd[2] = 'B';
|
||||
szAdd[3] = '\0';
|
||||
strcat(szBuff, szAdd);
|
||||
strncpy(lpszDest, szBuff, cchMax);
|
||||
sprintfW(wszBuff, bfFormats[i].lpwszFormat, dBytes);
|
||||
wszAdd[1] = bfFormats[i].wPrefix;
|
||||
strcatW(wszBuff, wszAdd);
|
||||
strncpyW(lpszDest, wszBuff, cchMax);
|
||||
return lpszDest;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* StrFormatByteSizeW [SHLWAPI.@]
|
||||
* StrFormatByteSize64A [SHLWAPI.@]
|
||||
*
|
||||
* See StrFormatByteSize64A.
|
||||
* See StrFormatByteSizeW.
|
||||
*/
|
||||
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest,
|
||||
UINT cchMax)
|
||||
LPSTR WINAPI StrFormatByteSize64A(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
|
||||
{
|
||||
char szBuff[32];
|
||||
WCHAR wszBuff[32];
|
||||
|
||||
StrFormatByteSize64A(llBytes, szBuff, sizeof(szBuff));
|
||||
StrFormatByteSizeW(llBytes, wszBuff, sizeof(wszBuff)/sizeof(WCHAR));
|
||||
|
||||
if (lpszDest)
|
||||
MultiByteToWideChar(CP_ACP, 0, szBuff, -1, lpszDest, cchMax);
|
||||
WideCharToMultiByte(CP_ACP, 0, wszBuff, -1, lpszDest, cchMax, 0, 0);
|
||||
return lpszDest;
|
||||
}
|
||||
|
||||
|
@ -2560,6 +2556,7 @@ INT WINAPI SHUnicodeToAnsiCP(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr,
|
|||
{
|
||||
SHTruncateString(mem, *lpiLen);
|
||||
lstrcpynA(lpDstStr, mem, *lpiLen + 1);
|
||||
HeapFree(GetProcessHeap(), 0, mem);
|
||||
return *lpiLen + 1;
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, mem);
|
||||
|
@ -2568,7 +2565,6 @@ INT WINAPI SHUnicodeToAnsiCP(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr,
|
|||
lpDstStr[*lpiLen] = '\0';
|
||||
return *lpiLen;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -288,7 +288,7 @@ BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE pfnThreadProc, VOID *pData,
|
|||
ti.pfnCallback = pfnCallback;
|
||||
ti.pData = pData;
|
||||
ti.bInitCom = dwFlags & CTF_COINIT ? TRUE : FALSE;
|
||||
ti.hEvent = CreateEventA(NULL,FALSE,FALSE,NULL);
|
||||
ti.hEvent = CreateEventW(NULL,FALSE,FALSE,NULL);
|
||||
|
||||
/* Hold references to the current thread and IE process, if desired */
|
||||
if(dwFlags & CTF_THREAD_REF)
|
||||
|
|
|
@ -444,6 +444,7 @@ HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized,
|
|||
break;
|
||||
default:
|
||||
FIXME("how did we get here - state=%d\n", state);
|
||||
HeapFree(GetProcessHeap(), 0, lpszUrlCpy);
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
}
|
||||
|
@ -1416,7 +1417,7 @@ HRESULT WINAPI UrlHashW(LPCWSTR pszUrl, unsigned char *lpDest, DWORD nDestLen)
|
|||
* return the same digests for the same URL.
|
||||
*/
|
||||
WideCharToMultiByte(0, 0, pszUrl, -1, szUrl, MAX_PATH, 0, 0);
|
||||
HashData((PBYTE)szUrl, (int)strlen(szUrl), lpDest, nDestLen);
|
||||
HashData((const BYTE*)szUrl, (int)strlen(szUrl), lpDest, nDestLen);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
@ -1631,6 +1632,8 @@ BOOL WINAPI UrlIsA(LPCSTR pszUrl, URLIS Urlis)
|
|||
DWORD res1;
|
||||
LPCSTR last;
|
||||
|
||||
TRACE("(%s %d)\n", debugstr_a(pszUrl), Urlis);
|
||||
|
||||
switch (Urlis) {
|
||||
|
||||
case URLIS_OPAQUE:
|
||||
|
@ -1650,6 +1653,8 @@ BOOL WINAPI UrlIsA(LPCSTR pszUrl, URLIS Urlis)
|
|||
return (last >= pszUrl && (*last == '/' || *last == '\\' ));
|
||||
|
||||
case URLIS_URL:
|
||||
return PathIsURLA(pszUrl);
|
||||
|
||||
case URLIS_NOHISTORY:
|
||||
case URLIS_APPLIABLE:
|
||||
case URLIS_HASQUERY:
|
||||
|
@ -1671,6 +1676,8 @@ BOOL WINAPI UrlIsW(LPCWSTR pszUrl, URLIS Urlis)
|
|||
DWORD res1;
|
||||
LPCWSTR last;
|
||||
|
||||
TRACE("(%s %d)\n", debugstr_w(pszUrl), Urlis);
|
||||
|
||||
switch (Urlis) {
|
||||
|
||||
case URLIS_OPAQUE:
|
||||
|
@ -1690,6 +1697,8 @@ BOOL WINAPI UrlIsW(LPCWSTR pszUrl, URLIS Urlis)
|
|||
return (last >= pszUrl && (*last == '/' || *last == '\\'));
|
||||
|
||||
case URLIS_URL:
|
||||
return PathIsURLW(pszUrl);
|
||||
|
||||
case URLIS_NOHISTORY:
|
||||
case URLIS_APPLIABLE:
|
||||
case URLIS_HASQUERY:
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#define NO_SHLWAPI_REG
|
||||
#include "shlwapi.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
|
||||
|
@ -284,7 +284,7 @@ static UINT WPRINTF_GetLen( WPRINTF_FORMAT *format, WPRINTF_DATA *arg,
|
|||
* Success: The number of characters written.
|
||||
* Failure: -1.
|
||||
*/
|
||||
INT WINAPI wvnsprintfA( LPSTR buffer, UINT maxlen, LPCSTR spec, va_list args )
|
||||
INT WINAPI wvnsprintfA( LPSTR buffer, INT maxlen, LPCSTR spec, va_list args )
|
||||
{
|
||||
WPRINTF_FORMAT format;
|
||||
LPSTR p = buffer;
|
||||
|
@ -389,7 +389,7 @@ INT WINAPI wvnsprintfA( LPSTR buffer, UINT maxlen, LPCSTR spec, va_list args )
|
|||
*
|
||||
* See wvnsprintfA.
|
||||
*/
|
||||
INT WINAPI wvnsprintfW( LPWSTR buffer, UINT maxlen, LPCWSTR spec, va_list args )
|
||||
INT WINAPI wvnsprintfW( LPWSTR buffer, INT maxlen, LPCWSTR spec, va_list args )
|
||||
{
|
||||
WPRINTF_FORMAT format;
|
||||
LPWSTR p = buffer;
|
||||
|
|
Loading…
Reference in a new issue