[Box Backup-dev] COMMIT r278 - box/chris/win32/vc2005-compile-fixes/lib/backupclient
boxbackup-dev@fluffy.co.uk
boxbackup-dev@fluffy.co.uk
Thu, 22 Dec 2005 23:00:23 +0000 (GMT)
Author: chris
Date: 2005-12-22 23:00:04 +0000 (Thu, 22 Dec 2005)
New Revision: 278
Modified:
box/chris/win32/vc2005-compile-fixes/lib/backupclient/BackupClientFileAttributes.cpp
Log:
* BackupClientFileAttributes.cpp
- Fix erroneous detection of invalid timestamps on local files
Modified: box/chris/win32/vc2005-compile-fixes/lib/backupclient/BackupClientFileAttributes.cpp
===================================================================
--- box/chris/win32/vc2005-compile-fixes/lib/backupclient/BackupClientFileAttributes.cpp 2005-12-22 22:34:28 UTC (rev 277)
+++ box/chris/win32/vc2005-compile-fixes/lib/backupclient/BackupClientFileAttributes.cpp 2005-12-22 23:00:04 UTC (rev 278)
@@ -333,8 +333,9 @@
// __time64_t winTime = BoxTimeToSeconds(
// pnewAttr->ModificationTime);
- box_time_t bob = BoxTimeToSeconds(pattr->ModificationTime);
- __time64_t winTime = bob;
+ u_int64_t modTime = box_ntoh64(pattr->ModificationTime);
+ box_time_t modSecs = BoxTimeToSeconds(modTime);
+ __time64_t winTime = modSecs;
// _MAX__TIME64_T doesn't seem to be defined, but the code below
// will throw an assertion failure if we exceed it :-)
@@ -343,17 +344,19 @@
// to be true (still aborts), but it can at least hold 2^32.
if (winTime >= 0x100000000 || _gmtime64(&winTime) == 0)
{
- ::syslog(LOG_ERR, "Corrupt value in store "
- "Modification Time in file %s", Filename);
+ ::syslog(LOG_ERR, "Invalid Modification Time "
+ "caught for file: %s", Filename);
pattr->ModificationTime = 0;
}
- bob = BoxTimeToSeconds(pattr->AttrModificationTime);
- winTime = bob;
+ modTime = box_ntoh64(pattr->AttrModificationTime);
+ modSecs = BoxTimeToSeconds(modTime);
+ winTime = modSecs;
+
if (winTime > 0x100000000 || _gmtime64(&winTime) == 0)
{
- ::syslog(LOG_ERR, "Corrupt value in store "
- "Attr Modification Time in file %s", Filename);
+ ::syslog(LOG_ERR, "Invalid Attribute Modification "
+ "Time caught for file: %s", Filename);
pattr->AttrModificationTime = 0;
}
#endif