summaryrefslogtreecommitdiff
path: root/updater/extern.cpp
diff options
context:
space:
mode:
author(no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10>2010-11-09 12:57:10 +0000
committer(no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10>2010-11-09 12:57:10 +0000
commit134bfeae84de233c4494c134bf8bf5d86e9c3c71 (patch)
tree4c3513c0505b145a5231ca34dbd0b4711bf3f722 /updater/extern.cpp
parente25739bfcca10986e6990179d88bd57cac68819f (diff)
Version update
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@548 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'updater/extern.cpp')
-rw-r--r--updater/extern.cpp67
1 files changed, 41 insertions, 26 deletions
diff --git a/updater/extern.cpp b/updater/extern.cpp
index 4e73301..48b1e94 100644
--- a/updater/extern.cpp
+++ b/updater/extern.cpp
@@ -208,71 +208,86 @@ void MoveFiles(HANDLE hLogFile, TCHAR *src_folder, TCHAR *dst_folder, TCHAR *bac
WIN32_FIND_DATA findData;
HANDLE hFileSearch = FindFirstFile(szFilesPath, &findData);
- if(hFileSearch != INVALID_HANDLE_VALUE)
+ if (hFileSearch != INVALID_HANDLE_VALUE)
{
- do {
- if(findData.cFileName[0] != _T('.')) {
+ do
+ {
+ if (findData.cFileName[0] != '.')
+ {
_sntprintf(szOldFileName, SIZEOF(szOldFileName), _T("%s\\%s"), src_folder, findData.cFileName);
szOldFileName[SIZEOF(szOldFileName) - 1] = 0;
- if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
+ if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ {
// use szNewFileName as destination and new root folder
- _tcscpy(szNewFileName, root_folder);
- if (_tcslen(findData.cFileName) < _tcslen(ROOT_FILES_FOLDER) || _tcsicmp(findData.cFileName, ROOT_FILES_FOLDER)) {
- _tcscat(szNewFileName, _T("\\"));
- _tcscat(szNewFileName, findData.cFileName);
+ if (_tcslen(findData.cFileName) < SIZEOF(ROOT_FILES_FOLDER) - 1 || _tcsicmp(findData.cFileName, ROOT_FILES_FOLDER))
+ {
+ _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), root_folder, findData.cFileName);
+ szNewFileName[SIZEOF(szNewFileName) - 1] = 0;
}
+ else
+ _tcscpy(szNewFileName, root_folder);
// recurse
MoveFiles(hLogFile, szOldFileName, szNewFileName, backup_folder, szNewFileName);
- } else {
- _tcscpy(szNewFileName, dst_folder);
-
+ }
+ else
+ {
// exception for langpack files - move to root_folder
// exception for dbtool.exe (e.g. translated) - move to root_folder
if((_tcsnicmp(findData.cFileName, _T("dbtool.exe"), _tcslen(_T("dbtool.exe"))) == 0)
|| (_tcsnicmp(findData.cFileName, _T("langpack_"), _tcslen(_T("langpack_"))) == 0))
{
- _tcscpy(szNewFileName, root_folder);
+ _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), root_folder, findData.cFileName);
+ szNewFileName[SIZEOF(szNewFileName) - 1] = 0;
+ }
+ else
+ {
+ _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), dst_folder, findData.cFileName);
+ szNewFileName[SIZEOF(szNewFileName) - 1] = 0;
}
-
- _tcscat(szNewFileName, _T("\\"));
- _tcscat(szNewFileName, findData.cFileName);
move_file = false;
- if(do_backups) {
- _sntprintf(szBackupFileName, SIZEOF(szBackupFileName), _T("%s\\%s"),
- backup_folder, findData.cFileName);
+ if (do_backups)
+ {
+ _sntprintf(szBackupFileName, SIZEOF(szBackupFileName), _T("%s\\%s"), backup_folder, findData.cFileName);
szBackupFileName[SIZEOF(szBackupFileName) - 1] = 0;
move_file = true;
DeleteFile(szBackupFileName);
- if(!MoveFile(szNewFileName, szBackupFileName)) {
+ if(!MoveFile(szNewFileName, szBackupFileName))
+ {
// MessageBox(0, szNewFileName, "Could not backup!", MB_OK | MB_ICONWARNING);
}
- } else {
+ }
+ else
+ {
move_file = true;
- if(!DeleteFile(szNewFileName)) {
+ if (!DeleteFile(szNewFileName))
+ {
// MessageBox(0, szNewFileName, "Could not delete!", MB_OK | MB_ICONWARNING);
}
}
- if(move_file) {
- if(!MoveFile(szOldFileName, szNewFileName)) {
+ if (move_file)
+ {
+ if (!MoveFile(szOldFileName, szNewFileName))
+ {
//MessageBox(0, szOldFileName, "Could not move!", MB_OK | MB_ICONWARNING);
// try a copy - possibly win98 etc. will not move the updater.dll when it is being used by this process
CopyFile(szOldFileName, szNewFileName, TRUE);
DeleteFile(szOldFileName); // docs say it is marked for delete and actually removed when the last handle is closed...hmm
}
- } else {
+ }
+ else
DeleteFile(szOldFileName);
- }
}
}
- } while(FindNextFile(hFileSearch, &findData));
+ }
+ while(FindNextFile(hFileSearch, &findData));
FindClose(hFileSearch);
}