summaryrefslogtreecommitdiff
path: root/python/demangle.py
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2018-07-26 16:02:26 -0400
committerRusty Wagner <rusty@vector35.com>2018-07-26 16:18:02 -0400
commit6eb3234d924d870641ee30c4263437f1d8a8d5c7 (patch)
treeb64815c5e0a2c3b1a10a3e3dcab4c786fdd85c34 /python/demangle.py
parentc5c93fc82b8929d04f62d241ca50228de60fa5f4 (diff)
parent1f986c2698ff9df6d42429b1b7699842223634e5 (diff)
Merge branch 'dev' into test_stack_adjust
Diffstat (limited to 'python/demangle.py')
-rw-r--r--python/demangle.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/python/demangle.py b/python/demangle.py
index 11673263..2fa1028f 100644
--- a/python/demangle.py
+++ b/python/demangle.py
@@ -21,8 +21,12 @@
import ctypes
# Binary Ninja components
-import _binaryninjacore as core
-import types
+from binaryninja import _binaryninjacore as core
+from binaryninja import types
+
+# 2-3 compatibility
+from binaryninja import range
+from binaryninja import pyNativeStr
def get_qualified_name(names):
@@ -61,8 +65,8 @@ def demangle_ms(arch, mangled_name):
outSize = ctypes.c_ulonglong()
names = []
if core.BNDemangleMS(arch.handle, mangled_name, ctypes.byref(handle), ctypes.byref(outName), ctypes.byref(outSize)):
- for i in xrange(outSize.value):
- names.append(outName[i])
+ for i in range(outSize.value):
+ names.append(pyNativeStr(outName[i]))
core.BNFreeDemangledName(ctypes.byref(outName), outSize.value)
return (types.Type(handle), names)
return (None, mangled_name)
@@ -74,8 +78,8 @@ def demangle_gnu3(arch, mangled_name):
outSize = ctypes.c_ulonglong()
names = []
if core.BNDemangleGNU3(arch.handle, mangled_name, ctypes.byref(handle), ctypes.byref(outName), ctypes.byref(outSize)):
- for i in xrange(outSize.value):
- names.append(outName[i])
+ for i in range(outSize.value):
+ names.append(pyNativeStr(outName[i]))
core.BNFreeDemangledName(ctypes.byref(outName), outSize.value)
if not handle:
return (None, names)