List Archive

Thread

Thread Index

Message

From: Andreas Falkenhahn <andreas%falkenhahn.com@localhost>
To: Thomas Klausner <tk%giga.or.at@localhost>
Subject: Re: zip_file_set_mtime() bug?
Date: Wed, 15 Nov 2017 19:17:10 +0100

On 15.11.2017 at 18:39 Thomas Klausner wrote:

> On Wed, Nov 15, 2017 at 05:48:07PM +0100, Andreas Falkenhahn wrote:

>> I want to set the datestamp of a file inside a zip archive to
>> 16-Sep-2017 08:34:56. This is my code:

>>       struct tm tm;

>>       tm.tm_sec = 56;
>>       tm.tm_min = 34;
>>       tm.tm_hour = 8;
>>       tm.tm_mday = 16;
>>       tm.tm_mon = 8;
>>       tm.tm_year = 117;
>>       tm.tm_isdst = -1;
>>       
>>       zip_file_set_mtime(arc, 0, mktime(&tm), 0);
>>       
>> When I compile and run this code on Linux, Ubuntu shows the
>> file date correctly as 16-Sep-2017 08:34:56.

>> When I compile and run this code on Windows, however, Windows
>> Explorer shows the file date as 16-Sep-2017 09:34:56, i.e.
>> one hour later than what I passed to zip_file_set_mtime().

>> Is this a bug in libzip or am I doing something wrong here?

> libzip doesn't behave differently in this code path for the two
> operating systems.

> I'd take a closer look at what you get from mktime() on the two
> systems.

It's the same. So when I open the zip archive created on Ubuntu
with Windows Explorer, Explorer also reports 09:34:56 whereas Ubuntu
reports 08:34:56. Any idea what is the reason for that? Why
does Windows Explorer add an hour?

-- 
Best regards,
 Andreas Falkenhahn                            
mailto:andreas%falkenhahn.com@localhost

Made by MHonArc.