From 258e58715f404964a8417b2235431f565ae295e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Thu, 30 Jul 2015 23:45:28 +0200 Subject: [PATCH] gcab-file: fix wrong file modification day The day of the struct tm is not (0-30) but (1-31), no need to add +1! This fixes creation of cabinet file and MSI that Windows Installer rejects because of invalid date (29-02-2005 for ex). See bug: https://bugzilla.gnome.org/show_bug.cgi?id=753040 --- libgcab/gcab-file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libgcab/gcab-file.c b/libgcab/gcab-file.c index d97539d..b55fbb5 100644 --- a/libgcab/gcab-file.c +++ b/libgcab/gcab-file.c @@ -142,7 +142,7 @@ gcab_file_update_info (GCabFile *self, GFileInfo *info) self->cfile.usize = g_file_info_get_size (info); self->cfile.fattr = GCAB_FILE_ATTRIBUTE_ARCH; self->cfile.date = ((m->tm_year + 1900 - 1980 ) << 9 ) + - ((m->tm_mon+1) << 5 ) + (m->tm_mday+1); + ((m->tm_mon+1) << 5 ) + (m->tm_mday); self->cfile.time = (m->tm_hour << 11) + (m->tm_min << 5) + (m->tm_sec / 2); return TRUE; -- 2.4.3