summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/binaryview.py2
-rw-r--r--python/generator.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/python/binaryview.py b/python/binaryview.py
index 5a63248f..d97e9f4d 100644
--- a/python/binaryview.py
+++ b/python/binaryview.py
@@ -10872,7 +10872,7 @@ to a the type "tagRECT" found in the typelibrary "winX64common"
if not core.BNParseExpression(self.handle, expression, offset, here, errors):
assert errors.value is not None, "core.BNParseExpression returned errors set to None"
error_str = errors.value.decode("utf-8")
- core.free_string(errors)
+ core.BNFreeParseError(ctypes.cast(errors, ctypes.POINTER(ctypes.c_byte)))
raise ValueError(error_str)
return offset.value
diff --git a/python/generator.cpp b/python/generator.cpp
index 82eed91b..7ec2279a 100644
--- a/python/generator.cpp
+++ b/python/generator.cpp
@@ -504,7 +504,7 @@ int main(int argc, char* argv[])
// From python -> C python3 requires str -> str.encode('charmap')
bool swizzleArgs = true;
- if (name == "BNFreeString")
+ if (name == "BNFreeString" || name == "BNFreeParseError")
swizzleArgs = false;
bool callbackConvention = false;
@@ -531,9 +531,9 @@ int main(int argc, char* argv[])
for (auto& j : i.second->GetParameters())
{
fprintf(out, "\t\t");
- if (name == "BNFreeString")
+ if (name == "BNFreeString" || name == "BNFreeParseError")
{
- // BNFreeString expects a pointer to a string allocated by the core, so do not use
+ // These expect a pointer to a string allocated by the core, so do not use
// a c_char_p here, as that would be allocated by the Python runtime. This can
// be enforced by outputting like a return value.
OutputType(out, j.type.GetValue(), true);