Skip to content

Commit fa85c97

Browse files
authored
Refactor string loading to use LoadStringRaw
1 parent 1df17ad commit fa85c97

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

extension/script/backend/worker/undump.lua

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,13 @@ local function LoadNumber()
1717
end
1818

1919
local function LoadCharN(n)
20-
return unpack("c" .. tostring(n))
20+
return unpack("c" .. n)
21+
end
22+
23+
local function LoadStringRaw(n)
24+
local s = unpack("c" .. (n-1))
25+
assert(unpack "I1" == 0)
26+
return s
2127
end
2228

2329
local undump53; do
@@ -37,7 +43,7 @@ local undump53; do
3743
if size == 0 then
3844
return nil
3945
end
40-
return LoadCharN(size - 1)
46+
return LoadStringRaw(size - 1)
4147
end
4248

4349
local LoadFunction
@@ -194,7 +200,7 @@ local undump54; do
194200
if size == 0 then
195201
return nil
196202
end
197-
return LoadCharN(size - 1)
203+
return LoadStringRaw(size - 1)
198204
end
199205

200206
local LoadFunction
@@ -380,7 +386,7 @@ local undump55; do
380386
end
381387
return cached[idx]
382388
end
383-
local str = LoadCharN(size)
389+
local str = LoadStringRaw(size)
384390
cached[#cached + 1] = str
385391
return str
386392
end

0 commit comments

Comments
 (0)