From e9210428005b1cb4baaf3130ba13d5bf4a4445e6 Mon Sep 17 00:00:00 2001 From: Olivier Aubert Date: Fri, 31 Jul 2009 14:40:58 +0200 Subject: [PATCH] python-ctypes: convert NULL return values to None --- bindings/python-ctypes/generate.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bindings/python-ctypes/generate.py b/bindings/python-ctypes/generate.py index 473980c0d2..d44142ffb2 100755 --- a/bindings/python-ctypes/generate.py +++ b/bindings/python-ctypes/generate.py @@ -470,12 +470,17 @@ def generate_wrappers(methods): for classname, el in itertools.groupby(elements, key=operator.itemgetter(0)): print """ class %(name)s(object): - def __init__(self, pointer=None): + def __new__(cls, pointer=None): '''Internal method used for instanciating wrappers from ctypes. ''' if pointer is None: raise Exception("Internal method. You should instanciate objects through other class methods (probably named 'new' or ending with 'new')") - self._as_parameter_=ctypes.c_void_p(pointer) + if pointer == 0: + return None + else: + o=object.__new__(cls) + o._as_parameter_=ctypes.c_void_p(pointer) + return o @staticmethod def from_param(arg): -- 2.39.2