comdlg32: Remove an always true if check (PVS-Studio).

This commit is contained in:
Michael Stefaniuc 2014-11-26 12:08:37 +01:00 committed by Alexandre Julliard
parent 6ae26c7b53
commit 0867e7fe78
1 changed files with 30 additions and 32 deletions

View File

@ -1586,39 +1586,37 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
/* 2. (All platforms) If initdir is not null, then use it */ /* 2. (All platforms) If initdir is not null, then use it */
if (!handledPath && fodInfos->initdir && *fodInfos->initdir) if (!handledPath && fodInfos->initdir && *fodInfos->initdir)
{ {
/* Work out the proper path as supplied one might be relative */ /* Work out the proper path as supplied one might be relative */
/* (Here because supplying '.' as dir browses to My Computer) */ /* (Here because supplying '.' as dir browses to My Computer) */
if (!handledPath) { WCHAR tmpBuf[MAX_PATH];
WCHAR tmpBuf[MAX_PATH]; WCHAR tmpBuf2[MAX_PATH];
WCHAR tmpBuf2[MAX_PATH]; WCHAR *nameBit;
WCHAR *nameBit; DWORD result;
DWORD result;
lstrcpyW(tmpBuf, fodInfos->initdir); lstrcpyW(tmpBuf, fodInfos->initdir);
if( PathFileExistsW(tmpBuf) ) { if (PathFileExistsW(tmpBuf)) {
/* initdir does not have to be a directory. If a file is /* initdir does not have to be a directory. If a file is
* specified, the dir part is taken */ * specified, the dir part is taken */
if( PathIsDirectoryW(tmpBuf)) { if (PathIsDirectoryW(tmpBuf)) {
PathAddBackslashW( tmpBuf ); PathAddBackslashW(tmpBuf);
lstrcatW(tmpBuf, szwStar); lstrcatW(tmpBuf, szwStar);
} }
result = GetFullPathNameW(tmpBuf, MAX_PATH, tmpBuf2, &nameBit); result = GetFullPathNameW(tmpBuf, MAX_PATH, tmpBuf2, &nameBit);
if (result) { if (result) {
*nameBit = 0x00; *nameBit = 0x00;
MemFree(fodInfos->initdir); MemFree(fodInfos->initdir);
fodInfos->initdir = MemAlloc((lstrlenW(tmpBuf2) + 1)*sizeof(WCHAR)); fodInfos->initdir = MemAlloc((lstrlenW(tmpBuf2) + 1) * sizeof(WCHAR));
lstrcpyW(fodInfos->initdir, tmpBuf2); lstrcpyW(fodInfos->initdir, tmpBuf2);
handledPath = TRUE; handledPath = TRUE;
TRACE("Value in InitDir changed to %s\n", debugstr_w(fodInfos->initdir)); TRACE("Value in InitDir changed to %s\n", debugstr_w(fodInfos->initdir));
} }
} }
else if (fodInfos->initdir) else if (fodInfos->initdir)
{ {
MemFree(fodInfos->initdir); MemFree(fodInfos->initdir);
fodInfos->initdir = NULL; fodInfos->initdir = NULL;
TRACE("Value in InitDir is not an existing path, changed to (nil)\n"); TRACE("Value in InitDir is not an existing path, changed to (nil)\n");
} }
}
} }
if (!handledPath && (!fodInfos->initdir || !*fodInfos->initdir)) if (!handledPath && (!fodInfos->initdir || !*fodInfos->initdir))