MCPcopy Create free account
hub / github.com/L-JINBIN/ApkDataMultiplexing / remove

Method remove

src/bin/zip/ExtraDataRecord.java:94–114  ·  view source on GitHub ↗
(byte[] extra, int header)

Source from the content-addressed store, hash-verified

92 }
93
94 public static byte[] remove(byte[] extra, int header) throws IOException {
95 int offset = 0;
96 while (extra.length - offset >= 4) {
97 int h = ZipUtil.readUShort(extra, offset);
98 int size = ZipUtil.readUShort(extra, offset + 2);
99 offset += 4;
100 if (size > extra.length - offset)
101 return extra;
102 if (h != header) {
103 offset += size;
104 } else {
105 offset -= 4;
106 size += 4;
107 byte[] bytes = new byte[extra.length - size];
108 System.arraycopy(extra, 0, bytes, 0, offset);
109 System.arraycopy(extra, offset + size, bytes, offset, extra.length - size - offset);
110 return bytes;
111 }
112 }
113 return extra;
114 }
115
116 public static ExtraDataRecord find(byte[] extra, int header) throws IOException {
117 int offset = 0;

Callers 4

readEntriesMethod · 0.95
writeHeaderMethod · 0.95
setMethod · 0.95

Calls 1

readUShortMethod · 0.95

Tested by

no test coverage detected