< prev index next >
src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
Print this page
*** 1065,1076 ****
--- 1065,1083 ----
if (method != METHOD_STORED && method != METHOD_DEFLATED)
zerror("invalid CEN header (unsupported compression method: " + method + ")");
if (pos + CENHDR + nlen > limit)
zerror("invalid CEN header (bad header size)");
byte[] name = Arrays.copyOfRange(cen, pos + CENHDR, pos + CENHDR + nlen);
+
+ name = (name.length >0 && name[0] == 47) ? Arrays.copyOfRange(name, 1, name.length) : name;
+
+ if(name.length > 0)
+ {
IndexNode inode = new IndexNode(name, pos);
inodes.put(inode, inode);
+ }
+
// skip ext and comment
pos += (CENHDR + nlen + elen + clen);
}
if (pos + ENDHDR != cen.length) {
zerror("invalid CEN header (bad header size)");
< prev index next >