diff options
| author | Philipp Hagemeister <phihag@phihag.de> | 2014-11-17 04:27:51 +0100 | 
|---|---|---|
| committer | Philipp Hagemeister <phihag@phihag.de> | 2014-11-17 04:27:51 +0100 | 
| commit | eb5376044ca2bb86a61c70ce1905992a0e5d25bd (patch) | |
| tree | f3bab950031f7de9ac4e39502b48b34984ef8d2a | |
| parent | 3cbcff8a2dacf6d4f10f00af36b9761ef833e6ea (diff) | |
[swfinterp] Implement equals opcode
| -rw-r--r-- | test/swftests/EqualsOperator.as | 10 | ||||
| -rw-r--r-- | youtube_dl/swfinterp.py | 5 | 
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()  | 
