The branch, master has been updated via 830adcd58d6b1fbc3e693762ab2e8a8cfd7ecab3 (commit) from 5c0edba8c2ade663d630a3b9f3ff0c4862129783 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 830adcd58d6b1fbc3e693762ab2e8a8cfd7ecab3 Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Sep 28 15:03:17 2009 +0200 pidl: Avoid using talloc_free as function pointer, since it may be a macro. ----------------------------------------------------------------------- Summary of changes: lib/talloc/pytalloc.c | 10 ++++++++++ lib/talloc/pytalloc.h | 2 ++ pidl/lib/Parse/Pidl/Samba4/Python.pm | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/lib/talloc/pytalloc.c b/lib/talloc/pytalloc.c index 646aac8..c6decf3 100644 --- a/lib/talloc/pytalloc.c +++ b/lib/talloc/pytalloc.c @@ -81,3 +81,13 @@ PyObject *py_talloc_default_repr(PyObject *obj) return PyString_FromFormat("<%s talloc object at 0x%p>", type->tp_name, talloc_obj->ptr); } + +static void py_cobject_talloc_free(void *ptr) +{ + talloc_free(ptr); +} + +PyObject *PyCObject_FromTallocPtr(void *ptr) +{ + return PyCObject_FromVoidPtr(ptr, py_cobject_talloc_free); +} diff --git a/lib/talloc/pytalloc.h b/lib/talloc/pytalloc.h index 3bfb272..9b65872 100644 --- a/lib/talloc/pytalloc.h +++ b/lib/talloc/pytalloc.h @@ -52,4 +52,6 @@ PyObject *py_talloc_default_repr(PyObject *py_obj); #define py_talloc_new(type, typeobj) py_talloc_steal(typeobj, talloc_zero(NULL, type)) +PyObject *PyCObject_FromTallocPtr(void *); + #endif /* _PY_TALLOC_H_ */ diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm index eb8bd31..c785619 100644 --- a/pidl/lib/Parse/Pidl/Samba4/Python.pm +++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm @@ -998,10 +998,10 @@ sub ConvertScalarToPython($$$) } # Not yet supported - if ($ctypename eq "string_array") { return "PyCObject_FromVoidPtr($cvar, talloc_free)"; } + if ($ctypename eq "string_array") { return "PyCObject_FromTallocPtr($cvar)"; } if ($ctypename eq "ipv4address") { return "PyString_FromString($cvar)"; } if ($ctypename eq "pointer") { - return "PyCObject_FromVoidPtr($cvar, talloc_free)"; + return "PyCObject_FromTallocPtr($cvar)"; } die("Unknown scalar type $ctypename"); -- Samba Shared Repository