diff options
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/fileutil.cpp')
| -rw-r--r-- | src/libs/dutil/WixToolset.DUtil/fileutil.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/fileutil.cpp b/src/libs/dutil/WixToolset.DUtil/fileutil.cpp index ac407916..a9369ea1 100644 --- a/src/libs/dutil/WixToolset.DUtil/fileutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/fileutil.cpp | |||
| @@ -443,6 +443,7 @@ extern "C" HRESULT DAPI FileSize( | |||
| 443 | ) | 443 | ) |
| 444 | { | 444 | { |
| 445 | HRESULT hr = S_OK; | 445 | HRESULT hr = S_OK; |
| 446 | DWORD er = ERROR_SUCCESS; | ||
| 446 | HANDLE hFile = INVALID_HANDLE_VALUE; | 447 | HANDLE hFile = INVALID_HANDLE_VALUE; |
| 447 | 448 | ||
| 448 | FileExitOnNull(pwzFileName, hr, E_INVALIDARG, "Attempted to check filename, but no filename was provided"); | 449 | FileExitOnNull(pwzFileName, hr, E_INVALIDARG, "Attempted to check filename, but no filename was provided"); |
| @@ -450,6 +451,11 @@ extern "C" HRESULT DAPI FileSize( | |||
| 450 | hFile = ::CreateFileW(pwzFileName, FILE_READ_ATTRIBUTES, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); | 451 | hFile = ::CreateFileW(pwzFileName, FILE_READ_ATTRIBUTES, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); |
| 451 | if (INVALID_HANDLE_VALUE == hFile) | 452 | if (INVALID_HANDLE_VALUE == hFile) |
| 452 | { | 453 | { |
| 454 | er = ::GetLastError(); | ||
| 455 | if (ERROR_PATH_NOT_FOUND == er || ERROR_FILE_NOT_FOUND == er) | ||
| 456 | { | ||
| 457 | ExitFunction1(hr = HRESULT_FROM_WIN32(er)); | ||
| 458 | } | ||
| 453 | FileExitWithLastError(hr, "Failed to open file %ls while checking file size", pwzFileName); | 459 | FileExitWithLastError(hr, "Failed to open file %ls while checking file size", pwzFileName); |
| 454 | } | 460 | } |
| 455 | 461 | ||
| @@ -617,11 +623,11 @@ extern "C" HRESULT DAPI FileReadPartialEx( | |||
| 617 | if (INVALID_HANDLE_VALUE == hFile) | 623 | if (INVALID_HANDLE_VALUE == hFile) |
| 618 | { | 624 | { |
| 619 | er = ::GetLastError(); | 625 | er = ::GetLastError(); |
| 620 | if (E_FILENOTFOUND == HRESULT_FROM_WIN32(er)) | 626 | if (ERROR_PATH_NOT_FOUND == er || ERROR_FILE_NOT_FOUND == er) |
| 621 | { | 627 | { |
| 622 | ExitFunction1(hr = E_FILENOTFOUND); | 628 | ExitFunction1(hr = HRESULT_FROM_WIN32(er)); |
| 623 | } | 629 | } |
| 624 | FileExitOnWin32Error(er, hr, "Failed to open file: %ls", wzSrcPath); | 630 | FileExitWithLastError(hr, "Failed to open file: %ls", wzSrcPath); |
| 625 | } | 631 | } |
| 626 | 632 | ||
| 627 | if (!::GetFileSizeEx(hFile, &liFileSize)) | 633 | if (!::GetFileSizeEx(hFile, &liFileSize)) |
