Menu

#33 LZH time stamp patch

closed-fixed
nobody
None
5
2005-09-13
2005-08-25
Anonymous
No

In case of browsing LZH level 2 archive, time stamp
will be in the future.
DosFileTime can be used with both Level 0 and 1, but
Level 2 use Unix like time() value, seconds since 1970.

Here is a patch file below.

--- LzhHandler.cpp 2005-08-05 01:26:00.000000000 +0900
+++ LzhHandler.cpp.timefixed 2005-08-25
19:23:31.456591700 +0900
@@ -165,7 +165,17 @@
else
{
FILETIME localFileTime;
- if (DosTimeToFileTime(item.ModifiedTime,
localFileTime))
+
+ if ( 2 == item.Level )
+ {
+ NTime::UnixTimeToFileTime(
item.ModifiedTime, localFileTime ) ;
+
+ if ( !LocalFileTimeToFileTime(
&localFileTime, &utcFileTime ) )
+ {
+ utcFileTime.dwHighDateTime =
utcFileTime.dwLowDateTime = 0;
+ }
+ }
+ else if (DosTimeToFileTime(item.ModifiedTime,
localFileTime))
{
if (!LocalFileTimeToFileTime(&localFileTime,
&utcFileTime))
utcFileTime.dwHighDateTime =
utcFileTime.dwLowDateTime = 0;

Discussion

  • Nobody/Anonymous

    LZH time stamp patch (diff)

     
  • Nobody/Anonymous

    Logged In: NO

    I'm sorry, my name is Hidetaka OGAWA, ogawa@bs2.qnes.nec.co.jp

     
  • Igor Pavlov

    Igor Pavlov - 2005-09-13
    • status: open --> closed-fixed
     
  • Igor Pavlov

    Igor Pavlov - 2005-09-13

    Logged In: YES
    user_id=65083

    I've fixed it. Thanks!

     

Log in to post a comment.