2014-05-29

radxa -- symlink error / unzip

unzip tarball fail on symlink error: File name too long #34

"git archive" seems to be broken wrt zip files
> IOW, the zip file looks right. I wonder if this is actually a bug in
> "unzip".

It is. This only happens if you have more then 16k entries and when one
of the 16k entry infos is reused it happend to be previously used for a
symlink entry.

Here's a patch for unzip60 for reference:
--- process.c
+++ process.c
@@ -1751,6 +1751,12 @@ int process_cdir_file_hdr(__G)    /* ret
= (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11); 
#endif

+#ifdef SYMLINKS     
+    /* Initialize the symlink flag, may be set by the platform-specific     
+       mapattr function.  */     
+    G.pInfo->symlink = 0;
+#endif
+
return PK_COOL;

} /* end function process_cdir_file_hdr() */