From: Steven Barth Date: Sun, 1 Jun 2008 14:54:58 +0000 (+0000) Subject: * libs/core: Adapted luci.util.strip_bytecode to handle lnum-bytecode correctly X-Git-Tag: 0.8.0~941 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=6250394740a3f33e86937f1978aee1b111189208 * libs/core: Adapted luci.util.strip_bytecode to handle lnum-bytecode correctly --- diff --git a/libs/core/luasrc/util.lua b/libs/core/luasrc/util.lua index d79f93b1d..cc8e7a70b 100644 --- a/libs/core/luasrc/util.lua +++ b/libs/core/luasrc/util.lua @@ -189,9 +189,10 @@ function split(str, pat, max, regex) end --- Bytecode stripping function by Peter Cawley from http://lua-users.org/lists/lua-l/2008-02/msg01158.html +-- Strips lua bytecode +-- Original version by Peter Cawley (http://lua-users.org/lists/lua-l/2008-02/msg01158.html) function strip_bytecode(dump) - local version, format, endian, int, size, ins, num = dump:byte(5, 11) + local version, format, endian, int, size, ins, num, lnum = dump:byte(5, 12) local subint if endian == 1 then subint = function(dump, i, l) @@ -227,6 +228,8 @@ function strip_bytecode(dump) offset = offset + size + subint(dump, offset, size) elseif t == 3 then offset = offset + num + elseif t == 254 then + offset = offset + lnum end end count, offset = subint(dump, offset, int)