From 17e2f195cecf970c934c34bb28bc1fa7c33c8e48 Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Mon, 5 Apr 2010 11:22:51 +0100 Subject: [PATCH] Support default_value in char* parameters (Question #106449) --- pybindgen/typehandlers/stringtype.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pybindgen/typehandlers/stringtype.py b/pybindgen/typehandlers/stringtype.py index ee2e016..a95c3da 100644 --- a/pybindgen/typehandlers/stringtype.py +++ b/pybindgen/typehandlers/stringtype.py @@ -19,8 +19,13 @@ class CStringParam(PointerParameter): def convert_python_to_c(self, wrapper): assert isinstance(wrapper, ForwardWrapperBase) - name = wrapper.declarations.declare_variable(self.ctype_no_const, self.name) - wrapper.parse_params.add_parameter('s', ['&'+name], self.value) + if self.default_value is None: + name = wrapper.declarations.declare_variable(self.ctype_no_const, self.name) + wrapper.parse_params.add_parameter('s', ['&'+name], self.value) + else: + name = wrapper.declarations.declare_variable(self.ctype_no_const, + self.name, self.default_value) + wrapper.parse_params.add_parameter('s', ['&'+name], self.value, optional=True) wrapper.call_params.append(name)