< 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 >