summaryrefslogtreecommitdiffstats
path: root/application/palemoon/components/migration/nsWindowsMigrationUtils.h
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2018-04-04 08:07:51 -0400
committerMatt A. Tobin <email@mattatobin.com>2018-04-04 08:07:51 -0400
commit99831baf2e2d98caefbf1c7a212613ad5d6360a9 (patch)
treec2136e5d81c88182e671f3160b0fde4a3a781b81 /application/palemoon/components/migration/nsWindowsMigrationUtils.h
parent04e0440f61e717af39c4b79711606327428fd81b (diff)
downloadUXP-99831baf2e2d98caefbf1c7a212613ad5d6360a9.tar
UXP-99831baf2e2d98caefbf1c7a212613ad5d6360a9.tar.gz
UXP-99831baf2e2d98caefbf1c7a212613ad5d6360a9.tar.lz
UXP-99831baf2e2d98caefbf1c7a212613ad5d6360a9.tar.xz
UXP-99831baf2e2d98caefbf1c7a212613ad5d6360a9.zip
[PALEMOON] Swipe nsIEHistoryEnumerator from Basilisk
Diffstat (limited to 'application/palemoon/components/migration/nsWindowsMigrationUtils.h')
-rw-r--r--application/palemoon/components/migration/nsWindowsMigrationUtils.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/application/palemoon/components/migration/nsWindowsMigrationUtils.h b/application/palemoon/components/migration/nsWindowsMigrationUtils.h
new file mode 100644
index 000000000..0288d93d3
--- /dev/null
+++ b/application/palemoon/components/migration/nsWindowsMigrationUtils.h
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef windowsmigrationutils__h__
+#define windowsmigrationutils__h__
+
+#include "prtime.h"
+
+static
+PRTime WinMigrationFileTimeToPRTime(FILETIME* filetime, bool* isValid)
+{
+ SYSTEMTIME st;
+ *isValid = ::FileTimeToSystemTime(filetime, &st);
+ if (!*isValid) {
+ return 0;
+ }
+ PRExplodedTime prt;
+ prt.tm_year = st.wYear;
+ // SYSTEMTIME's day-of-month parameter is 1-based,
+ // PRExplodedTime's is 0-based.
+ prt.tm_month = st.wMonth - 1;
+ prt.tm_mday = st.wDay;
+ prt.tm_hour = st.wHour;
+ prt.tm_min = st.wMinute;
+ prt.tm_sec = st.wSecond;
+ prt.tm_usec = st.wMilliseconds * 1000;
+ prt.tm_wday = 0;
+ prt.tm_yday = 0;
+ prt.tm_params.tp_gmt_offset = 0;
+ prt.tm_params.tp_dst_offset = 0;
+ return PR_ImplodeTime(&prt);
+}
+
+#endif
+