1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

pidl: Avoid using talloc_free as function pointer, since it may be a

macro.
This commit is contained in:
Jelmer Vernooij 2009-09-28 15:03:17 +02:00
parent 5c0edba8c2
commit 830adcd58d
3 changed files with 14 additions and 2 deletions

View File

@ -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);
}

View File

@ -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_ */

View File

@ -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");