Patch #984 » ReplaceFile_3.patch
| src/basicio.cpp (working copy) | ||
|---|---|---|
| 722 | 722 |
ReplaceFileW_t pfcn_ReplaceFileW = (ReplaceFileW_t)GetProcAddress(hKernel, "ReplaceFileW"); |
| 723 | 723 |
if (pfcn_ReplaceFileW) {
|
| 724 | 724 |
BOOL ret = pfcn_ReplaceFileW(wpf, fileIo->wpath().c_str(), NULL, REPLACEFILE_IGNORE_MERGE_ERRORS, NULL, NULL); |
| 725 |
FreeLibrary(hKernel); |
|
| 725 | 726 |
if (ret == 0) {
|
| 726 | 727 |
if (GetLastError() == ERROR_FILE_NOT_FOUND) {
|
| 727 | 728 |
if (::_wrename(fileIo->wpath().c_str(), wpf) == -1) {
|
| ... | ... | |
| 735 | 736 |
} |
| 736 | 737 |
} |
| 737 | 738 |
else {
|
| 739 |
FreeLibrary(hKernel); |
|
| 738 | 740 |
if (fileExists(wpf) && ::_wremove(wpf) != 0) {
|
| 739 | 741 |
throw WError(2, wpf, strError().c_str(), "::_wremove"); |
| 740 | 742 |
} |
| ... | ... | |
| 743 | 745 |
} |
| 744 | 746 |
::_wremove(fileIo->wpath().c_str()); |
| 745 | 747 |
} |
| 746 |
FreeLibrary(hKernel); |
|
| 747 | 748 |
} |
| 748 | 749 |
#else |
| 749 | 750 |
if (fileExists(wpf) && ::_wremove(wpf) != 0) {
|
- « Previous
- 1
- 2
- 3
- 4
- Next »