[vlc-devel] [PATCH 2/2] lua: do a binary-and operation in is_flag_set()

Hannes Domani ssbssa at yahoo.de
Wed Jul 15 20:57:07 CEST 2015


---
 share/lua/intf/modules/host.lua | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/share/lua/intf/modules/host.lua b/share/lua/intf/modules/host.lua
index b840b32..7ed888f 100644
--- a/share/lua/intf/modules/host.lua
+++ b/share/lua/intf/modules/host.lua
@@ -68,7 +68,17 @@ status = { init = 0, read = 1, write = 2, password = 3 }
 client_type = { net = 1, stdio = 2, fifo = 3, telnet = 4 }
 
 function is_flag_set(val, flag)
-    return (((val - (val % flag)) / flag) % 2 ~= 0)
+    local bit = 65536
+    val = val % bit
+    flag = flag % bit
+    bit = bit / 2
+    while bit > 0 do
+        if val >= bit and flag >= bit then return true end
+        val = val % bit
+        flag = flag % bit
+        bit = bit / 2
+    end
+    return false
 end
 
 function host()
-- 
2.4.5




More information about the vlc-devel mailing list