shell32: Use Win32 functions instead of Unix ones to retrieve the current time.
authorAlexandre Julliard <julliard@winehq.org>
Mon, 22 Dec 2008 10:45:20 +0000 (11:45 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 22 Dec 2008 10:45:20 +0000 (11:45 +0100)
dlls/shell32/trash.c

index a366f625ca79856b68de3922405cfb69b985d989..568c5570bbac1c97d94ffe6b42793278b50201b9 100644 (file)
@@ -171,8 +171,7 @@ BOOL TRASH_CanTrashFile(LPCWSTR wszPath)
 static BOOL try_create_trashinfo_file(const char *info_dir, const char *file_name,
     const char *original_file_name)
 {
-    struct tm curr_time;
-    time_t curr_time_secs;
+    SYSTEMTIME curr_time;
     char datebuf[200];
     char *path = SHAlloc(strlen(info_dir)+strlen(file_name)+strlen(trashinfo_suffix)+1);
     int writer = -1;
@@ -186,16 +185,11 @@ static BOOL try_create_trashinfo_file(const char *info_dir, const char *file_nam
     write(writer, trashinfo_header, strlen(trashinfo_header));
     if (!XDG_WriteDesktopStringEntry(writer, "Path", XDG_URLENCODE, original_file_name))
         goto error;
-    
-    time(&curr_time_secs);
-    localtime_r(&curr_time_secs, &curr_time);
+
+    GetLocalTime( &curr_time );
     wnsprintfA(datebuf, 200, "%04d-%02d-%02dT%02d:%02d:%02d",
-        curr_time.tm_year+1900,
-        curr_time.tm_mon+1,
-        curr_time.tm_mday,
-        curr_time.tm_hour,
-        curr_time.tm_min,
-        curr_time.tm_sec);
+               curr_time.wYear, curr_time.wMonth, curr_time.wDay,
+               curr_time.wHour, curr_time.wMinute, curr_time.wSecond);
     if (!XDG_WriteDesktopStringEntry(writer, "DeletionDate", 0, datebuf))
         goto error;
     close(writer);