ZipArchive doesn't generate valid zip files

David Friedman dvdfrdmn at users.ess-eff.net
Sun Jun 11 12:14:20 PDT 2006


Fixed in svn.  This was a Phobos bug -- I have added it to Bugzilla.

Carlos Santander wrote:
> What the subject says. It can read well, though, but it can't even read 
> it's own
> files.
> 
> //--------------------------------
> import std.date;
> import std.zip;
> 
> void main ()
> {
>         static ubyte [] buf = [1,2,3,4,5,0,7,8,9];
> 
>         auto ar = new ZipArchive;
> 
>         auto am = new ArchiveMember;  // 10
>         am.name = "buf";
>         am.expandedData = buf;
>         am.compressionMethod = 8;
>         am.time = toDosFileTime (getUTCtime ());
>         ar.addMember (am);            // 15
> 
>         auto zip1 = ar.build ();
> 
>         ar = new ZipArchive (zip1);
> }
> //--------------------------------
> 
> When I run it, I get "Error: ZipException: invalid directory entry 3" 
> (what does
> that mean, anyway?)
> 
> If I comment lines 10 to 15 (ie, I don't add a member to the zip, I 
> don't know
> if that's valid or not), I get "Error: ZipException: no end record".
> 
> Tested with gdc 0.18 on Mac OS X.
> 



More information about the D.gnu mailing list