From f8e7e8f0e340b365771f173c4bc7a65ea6800dc6 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 23 Aug 2024 12:52:42 -0500 Subject: [PATCH] time fixes --- .../drives/fuse/remotefuse/remote_server.cpp | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/repertory/librepertory/src/drives/fuse/remotefuse/remote_server.cpp b/repertory/librepertory/src/drives/fuse/remotefuse/remote_server.cpp index 1162bfe7..0ccaf592 100644 --- a/repertory/librepertory/src/drives/fuse/remotefuse/remote_server.cpp +++ b/repertory/librepertory/src/drives/fuse/remotefuse/remote_server.cpp @@ -1749,15 +1749,22 @@ auto remote_server::json_release_directory_snapshot( auto remote_server::update_to_windows_format(json &item) -> json & { const auto api_path = item["path"].get(); - item["meta"][META_MODIFIED] = std::to_string( - utils::time::unix_time_to_windows_time(utils::string::to_uint64( - empty_as_zero(item["meta"][META_MODIFIED])))); - item["meta"][META_CREATION] = std::to_string( - utils::time::unix_time_to_windows_time(utils::string::to_uint64( - empty_as_zero(item["meta"][META_CREATION])))); item["meta"][META_ACCESSED] = std::to_string( - utils::time::unix_time_to_windows_time(utils::string::to_uint64( - empty_as_zero(item["meta"][META_ACCESSED])))); + utils::string::to_uint64(empty_as_zero(item["meta"][META_ACCESSED]))); + item["meta"][META_CREATION] = std::to_string( + utils::string::to_uint64(empty_as_zero(item["meta"][META_CREATION]))); + item["meta"][META_MODIFIED] = std::to_string( + utils::string::to_uint64(empty_as_zero(item["meta"][META_MODIFIED]))); + + if (item["meta"][META_WRITTEN].empty() || + (item["meta"][META_WRITTEN].get() == "0") || + (item["meta"][META_WRITTEN].get() == + std::to_string(WIN32_TIME_CONVERSION))) { + drive_.set_item_meta(api_path, META_WRITTEN, + item["meta"][META_MODIFIED].get()); + item["meta"][META_WRITTEN] = item["meta"][META_MODIFIED]; + } + if (item["meta"][META_ATTRIBUTES].empty()) { item["meta"][META_ATTRIBUTES] = item["directory"].get() ? std::to_string(FILE_ATTRIBUTE_DIRECTORY) @@ -1766,19 +1773,6 @@ auto remote_server::update_to_windows_format(json &item) -> json & { item["meta"][META_ATTRIBUTES].get()); } - if (item["meta"][META_WRITTEN].empty() || - (item["meta"][META_WRITTEN].get() == "0") || - (item["meta"][META_WRITTEN].get() == "116444736000000000")) { - drive_.set_item_meta(api_path, META_WRITTEN, - item["meta"][META_MODIFIED].get()); - item["meta"][META_WRITTEN] = std::to_string( - utils::time::unix_time_to_windows_time(utils::string::to_uint64( - empty_as_zero(item["meta"][META_MODIFIED])))); - } else { - item["meta"][META_WRITTEN] = std::to_string( - utils::time::unix_time_to_windows_time(utils::string::to_uint64( - empty_as_zero(item["meta"][META_WRITTEN])))); - } return item; } } // namespace repertory::remote_fuse