diff options
Diffstat (limited to 'zen/dst_hack.h')
-rw-r--r-- | zen/dst_hack.h | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/zen/dst_hack.h b/zen/dst_hack.h deleted file mode 100644 index 600107bb..00000000 --- a/zen/dst_hack.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef DST_HACK_H_INCLUDED -#define DST_HACK_H_INCLUDED - -#include "win.h" //includes "windows.h" -#include "zstring.h" -#include <stdexcept> - - -namespace dst -{ -/* -Solve DST +-1h and time zone shift issues on FAT drives -------------------------------------------------------- -- (local) last write time is not touched! -- all additional metadata is encoded in local create time: - I. indicator that offset in II) is present - II. local<->UTC time offset - III. indicator that offset in II) corresponds to current local write time (a hash of local last write time) -*/ - -bool isFatDrive(const Zstring& fileName); //throw () - -//all subsequent functions may throw the std::runtime_error exception! - -struct RawTime //time as retrieved by ::FindFirstFile() and ::GetFileAttributesEx() -{ - RawTime(const FILETIME& create, const FILETIME& lastWrite) : createTimeRaw(create), writeTimeRaw(lastWrite) {} - FILETIME createTimeRaw; - FILETIME writeTimeRaw; -}; -//save UTC time resistant against DST/time zone shifts -bool fatHasUtcEncoded(const RawTime& rawTime); //throw std::runtime_error; as retrieved by ::FindFirstFile() and ::GetFileAttributesEx() - -RawTime fatEncodeUtcTime(const FILETIME& writeTimeRealUtc); //throw std::runtime_error -FILETIME fatDecodeUtcTime(const RawTime& rawTime); //throw std::runtime_error; return last write time in real UTC -} - -#endif // DST_HACK_H_INCLUDED |