diff options
| author | Peter LaFosse <peter@vector35.com> | 2017-12-14 18:38:57 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2017-12-14 18:38:57 -0500 |
| commit | ae5ce4da4c1f6ea3a071a4eec1a5da3e6e2a3305 (patch) | |
| tree | fa02cedcd9b8fcbfbb03f8d1e18ac003abd450bf /python/scriptingprovider.py | |
| parent | 565dd968745465d3ab939303056431bf9fa2f924 (diff) | |
Fix multi-line insertion and single expression evalutation
Diffstat (limited to 'python/scriptingprovider.py')
| -rw-r--r-- | python/scriptingprovider.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/python/scriptingprovider.py b/python/scriptingprovider.py index 8645c96c..761b359c 100644 --- a/python/scriptingprovider.py +++ b/python/scriptingprovider.py @@ -457,7 +457,7 @@ class PythonScriptingInstance(ScriptingInstance): super(PythonScriptingInstance.InterpreterThread, self).__init__() self.instance = instance self.locals = {"__name__": "__console__", "__doc__": None, "binaryninja": sys.modules[__name__]} - self.interpreter = code.InteractiveInterpreter(self.locals) + self.interpreter = code.InteractiveConsole(self.locals) self.event = threading.Event() self.daemon = True @@ -484,7 +484,7 @@ class PythonScriptingInstance(ScriptingInstance): self.code = None self.input = "" - self.interpreter.runsource("from binaryninja import *\n") + self.interpreter.push("from binaryninja import *\n") def execute(self, code): self.code = code @@ -547,7 +547,8 @@ class PythonScriptingInstance(ScriptingInstance): self.locals["current_llil"] = self.active_func.low_level_il self.locals["current_mlil"] = self.active_func.medium_level_il - self.interpreter.runcode(code) + for line in code.split("\n"): + self.interpreter.push(line) if self.locals["here"] != self.active_addr: if not self.active_view.file.navigate(self.active_view.file.view, self.locals["here"]): |
