Skip to content

Commit e13920d

Browse files
committed
Squish some variable names in the inflate function.
1 parent ffa008e commit e13920d

File tree

1 file changed

+41
-31
lines changed

1 file changed

+41
-31
lines changed

util/UNZIP.LUA

Lines changed: 41 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -199,30 +199,40 @@ local function inflate(data)
199199
}
200200

201201
while true do
202-
local sym = read_huff(bs, litlen)
203-
if sym < 256 then
204-
ab(sym)
205-
elseif sym == 256 then
202+
-- s = sym
203+
local s = read_huff(bs, litlen)
204+
if s < 256 then
205+
ab(s)
206+
elseif s == 256 then
206207
break
207208
else
208-
local entry = len_extra[sym]
209-
local base, extra = entry[1], entry[2]
210-
local add = extra > 0 and bs.r(extra) or 0
211-
local length, dsym = base + add, read_huff(bs, dist)
212-
local dentry = dist_extra[dsym + 1]
213-
local dbase, dextra = dentry[1], dentry[2]
214-
local dadd = dextra > 0 and bs.r(dextra) or 0
215-
local distval = dbase + dadd
216-
217-
if distval <= 0 or distval > op then
218-
error("invalid distance "..tostring(distval).." (outpos="..tostring(op)..")")
219-
end
220209

221-
local base_index = op - distval
222-
for i = 1, length do
223-
-- copy byte-by-byte (handles overlaps correctly)
224-
ab(o[base_index + i]:byte())
210+
-- e = entry
211+
-- b = base
212+
-- x = extra
213+
-- a = add
214+
-- l = length
215+
-- ds = dsym
216+
-- de = dentry
217+
-- db = dbase
218+
-- dx = dextra
219+
-- da = dadd
220+
local e, b, x, a, l, ds, de, db, dx, da, dv = len_extra[s]
221+
b, x = e[1], e[2]
222+
a = x > 0 and bs.r(x) or 0
223+
l, ds = b + a, read_huff(bs, dist)
224+
de = dist_extra[ds + 1]
225+
db, dx = de[1], de[2]
226+
da = dx > 0 and bs.r(dx) or 0
227+
dv = db + da
228+
229+
if dv <= 0 or dv > op then
230+
error("invalid distance "..tostring(dv).." (outpos="..tostring(op)..")")
225231
end
232+
233+
-- bi = base index
234+
local bi = op - dv
235+
for i = 1, l do ab(o[bi + i]:byte()) end
226236
end
227237
end
228238
else
@@ -236,22 +246,22 @@ local function inflate(data)
236246
end
237247

238248
local function crc32(s)
239-
local crc = 0xFFFFFFFF
249+
250+
-- x = maximum
251+
-- c = crc number
252+
local x, c = 0xFFFFFFFF c = x
253+
240254
for i = 1, #s do
241-
crc = crc ~ s:byte(i)
242-
for _ = 1, 8 do
243-
crc = (crc >> 1) ~ (0xEDB88320 & (-(crc & 1)))
244-
end
255+
c = c ~ s:byte(i)
256+
for _ = 1, 8 do c = (c >> 1) ~ (0xEDB88320 & (-(c & 1))) end
245257
end
246-
return crc ~ 0xFFFFFFFF
247-
end
248258

249-
local function le16(s, i) local a,b = s:byte(i,i+1); return a + b*256 end
250-
local function le32(s, i)
251-
local a,b,c,d = s:byte(i, i+3)
252-
return a + b * 256 + c * 65536 + d * 16777216
259+
return c ~ x
253260
end
254261

262+
local function le16(s, i) local a,b = s:byte(i,i+1) return a + b*256 end
263+
local function le32(s, i) local a,b,c,d = s:byte(i, i+3) return a + b * 256 + c * 65536 + d * 16777216 end
264+
255265
local function unzip(path)
256266
local f = assert(io.open(path, "rb"))
257267
local data, pos = f:read("*a"), 1 f:close()

0 commit comments

Comments
 (0)