[glib: 24/26] win32: Stop using deprecated GTimeVal in GWinHttpFile
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 24/26] win32: Stop using deprecated GTimeVal in GWinHttpFile
- Date: Mon, 29 Jul 2019 13:02:19 +0000 (UTC)
commit 96c74fd0e67657e55d472332aa8ba0e869b7f2a6
Author: Philip Withnall <withnall endlessm com>
Date: Wed Jul 24 15:13:31 2019 +0100
win32: Stop using deprecated GTimeVal in GWinHttpFile
Signed-off-by: Philip Withnall <withnall endlessm com>
Helps: #1438
gio/win32/gwinhttpfile.c | 36 +++++++-----------------------------
1 file changed, 7 insertions(+), 29 deletions(-)
---
diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c
index d5df16d91..465f41b6b 100644
--- a/gio/win32/gwinhttpfile.c
+++ b/gio/win32/gwinhttpfile.c
@@ -439,31 +439,6 @@ g_winhttp_file_set_display_name (GFile *file,
return NULL;
}
-static time_t
-mktime_utc (SYSTEMTIME *t)
-{
- time_t retval;
-
- static const gint days_before[] =
- {
- 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334
- };
-
- if (t->wMonth < 1 || t->wMonth > 12)
- return (time_t) -1;
-
- retval = (t->wYear - 1970) * 365;
- retval += (t->wYear - 1968) / 4;
- retval += days_before[t->wMonth-1] + t->wDay - 1;
-
- if (t->wYear % 4 == 0 && t->wMonth < 3)
- retval -= 1;
-
- retval = ((((retval * 24) + t->wHour) * 60) + t->wMinute) * 60 + t->wSecond;
-
- return retval;
-}
-
static GFileInfo *
g_winhttp_file_query_info (GFile *file,
const char *attributes,
@@ -603,12 +578,15 @@ g_winhttp_file_query_info (GFile *file,
last_modified.wYear >= 1970 &&
last_modified.wYear < 2038)
{
- GTimeVal tv;
+ GDateTime *dt = NULL, *dt2 = NULL;
+
+ dt = g_date_time_new_from_unix_utc (last_modified.wMilliseconds / 1000);
+ dt2 = g_date_time_add_seconds (dt, (last_modified.wMilliseconds % 1000) / 1000);
- tv.tv_sec = mktime_utc (&last_modified);
- tv.tv_usec = last_modified.wMilliseconds * 1000;
+ g_file_info_set_modification_date_time (info, dt2);
- g_file_info_set_modification_time (info, &tv);
+ g_date_time_unref (dt2);
+ g_date_time_unref (dt);
}
g_file_attribute_matcher_unref (matcher);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]