File: lua5.2-function-names

package info (click to toggle)
lua-cjson 2.1.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 528 kB
  • sloc: ansic: 5,207; sh: 73; makefile: 52; perl: 9
file content (27 lines) | stat: -rw-r--r-- 1,153 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Index: liblua-cjson/lua/cjson/util.lua
===================================================================
--- liblua-cjson.orig/lua/cjson/util.lua	2012-08-22 22:21:31.000000000 +0200
+++ liblua-cjson/lua/cjson/util.lua	2012-08-24 10:52:27.000000000 +0200
@@ -146,7 +146,21 @@
     end
 
     if type1 ~= "table" then
-        return val1 == val2
+        -- Lua 5.2 reports function names more precisely
+        if _VERSION >= "Lua 5.2" and type1 == "string" then
+            if val1 == val2 then return true else
+                local start, stop = string.find(val2, "to '%?'")
+                if start == nil then return false else
+                    local prefix2 = string.sub(val2,1,start+3)
+                    local postfix2 = string.sub(val2,stop)
+                    local prefix1 = string.sub(val1,1,start+3)
+                    local postfix1 = string.sub(val1,-string.len(postfix2))
+                    return prefix1 == prefix2 and postfix1 == postfix2
+                end
+            end
+        else
+            return val1 == val2
+        end
     end
 
     -- check_keys stores all the keys that must be checked in val2