From ec23b2345515e4bbf91f07477950fd89f4ba71b6 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Sat, 5 May 2012 22:55:57 +0200 Subject: [PATCH] [bindings] add a default parameter to is_transfer_full whose default is False --- bindings/utils.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bindings/utils.py b/bindings/utils.py index ef55d1b3..a916e778 100644 --- a/bindings/utils.py +++ b/bindings/utils.py @@ -258,14 +258,15 @@ def is_int(arg, binding_data): def is_time_t_pointer(arg): return re.match(r'\btime_t\*', unconstify(arg_type(arg))) -def is_transfer_full(arg): +def is_transfer_full(arg, default=False): if not isinstance(arg, tuple): - return False + return default transfer = arg[2].get('transfer') if transfer: return transfer == 'full' - else: - return is_out(arg) or is_object(arg) + if is_cstring(arg) and is_const(arg): + return False + return default or is_out(arg) or is_object(arg) _not_objects = ( 'GHashTable', 'GList', 'GType' )