about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-11-17 04:27:51 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2014-11-17 04:27:51 +0100
commiteb5376044ca2bb86a61c70ce1905992a0e5d25bd (patch)
treef3bab950031f7de9ac4e39502b48b34984ef8d2a
parent3cbcff8a2dacf6d4f10f00af36b9761ef833e6ea (diff)
downloadyoutube-dl-eb5376044ca2bb86a61c70ce1905992a0e5d25bd.tar.gz
youtube-dl-eb5376044ca2bb86a61c70ce1905992a0e5d25bd.tar.xz
youtube-dl-eb5376044ca2bb86a61c70ce1905992a0e5d25bd.zip
[swfinterp] Implement equals opcode
-rw-r--r--test/swftests/EqualsOperator.as10
-rw-r--r--youtube_dl/swfinterp.py5
2 files changed, 15 insertions, 0 deletions
diff --git a/test/swftests/EqualsOperator.as b/test/swftests/EqualsOperator.as
new file mode 100644
index 000000000..837a69a46
--- /dev/null
+++ b/test/swftests/EqualsOperator.as
@@ -0,0 +1,10 @@
+// input: []
+// output: false
+
+package {
+public class EqualsOperator {
+    public static function main():Boolean{
+        return 1 == 2;
+    }
+}
+}
diff --git a/youtube_dl/swfinterp.py b/youtube_dl/swfinterp.py
index 0ce8474ca..1e8b26ecc 100644
--- a/youtube_dl/swfinterp.py
+++ b/youtube_dl/swfinterp.py
@@ -629,6 +629,11 @@ class SWFInterpreter(object):
                     value1 = stack.pop()
                     res = value1 % value2
                     stack.append(res)
+                elif opcode == 171:  # equals
+                    value2 = stack.pop()
+                    value1 = stack.pop()
+                    result = value1 == value2
+                    stack.append(result)
                 elif opcode == 175:  # greaterequals
                     value2 = stack.pop()
                     value1 = stack.pop()