+
+#ifdef G_OS_WIN32
+ f = g_file_new_for_path(path);
+ g_free(path);
+ fi = g_file_query_info(f, "standard::size,time::modified",
+ G_FILE_QUERY_INFO_NONE, NULL, &error);
+ if (error != NULL) {
+ g_warning(error->message);
+ g_error_free(error);
+ g_object_unref(f);
+ return TRUE;
+ }
+
+ g_file_info_get_modification_time(fi, &tv);
+ if (msginfo->size != g_file_info_get_size(fi) || (
+ (msginfo->mtime - tv.tv_sec != 0) &&
+ abs(msginfo->mtime - tv.tv_sec) != 3600)) {
+ g_error_free(error);
+ g_object_unref(f);
+ return TRUE;
+ }
+#else
+ r = g_stat(path, &s);
+ g_free(path);
+ if (r < 0 ||