ZipArchive doesn't generate valid zip files

Carlos Santander csantander619 at gmail.com
Sat Jun 10 16:36:01 PDT 2006


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.

-- 
Carlos Santander Bernal




More information about the D.gnu mailing list