Browse Source

[swfinterp] Implement bitand and pushshort operators

master
Philipp Hagemeister 10 years ago
parent
commit
162f54eca6
1 changed files with 10 additions and 0 deletions
  1. 10
      youtube_dl/swfinterp.py

10
youtube_dl/swfinterp.py

@ -451,6 +451,9 @@ class SWFInterpreter(object):
elif opcode == 36: # pushbyte
v = _read_byte(coder)
stack.append(v)
elif opcode == 37: # pushshort
v = u30()
stack.append(v)
elif opcode == 38: # pushtrue
stack.append(True)
elif opcode == 39: # pushfalse
@ -712,6 +715,13 @@ class SWFInterpreter(object):
value1 = stack.pop()
res = value1 % value2
stack.append(res)
elif opcode == 168: # bitand
value2 = stack.pop()
value1 = stack.pop()
assert isinstance(value1, int)
assert isinstance(value2, int)
res = value1 & value2
stack.append(res)
elif opcode == 171: # equals
value2 = stack.pop()
value1 = stack.pop()

Loading…
Cancel
Save