summaryrefslogtreecommitdiff
path: root/python/types.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/types.py')
-rw-r--r--python/types.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/python/types.py b/python/types.py
index 3cd44bd8..87fa7ddb 100644
--- a/python/types.py
+++ b/python/types.py
@@ -1662,10 +1662,12 @@ def preprocess_source(source, filename=None, include_dirs=[]):
output = ctypes.c_char_p()
errors = ctypes.c_char_p()
result = core.BNPreprocessSource(source, filename, output, errors, dir_buf, len(include_dirs))
- output_str = output.value
- error_str = errors.value
- core.BNFreeString(ctypes.cast(output, ctypes.POINTER(ctypes.c_byte)))
- core.BNFreeString(ctypes.cast(errors, ctypes.POINTER(ctypes.c_byte)))
+ assert output.value is not None
+ assert errors.value is not None
+ output_str = output.value.decode('utf-8')
+ error_str = errors.value.decode('utf-8')
+ core.free_string(output)
+ core.free_string(errors)
if result:
return (output_str, error_str)
return (None, error_str)