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

pytalloc: Add default compare function.

This commit is contained in:
Jelmer Vernooij 2010-09-21 00:40:17 -07:00
parent 1d90227c3c
commit 049c4fa04d
3 changed files with 16 additions and 1 deletions

View File

@ -88,7 +88,7 @@ PyObject *py_talloc_reference_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, voi
}
/**
* Default (but slightly more useful than the default) implementation of Repr().
* Default (but only slightly more useful than the default) implementation of Repr().
*/
PyObject *py_talloc_default_repr(PyObject *obj)
{
@ -99,6 +99,19 @@ PyObject *py_talloc_default_repr(PyObject *obj)
type->tp_name, talloc_obj->ptr);
}
/**
* Default (but only slightly more useful than the default) implementation of cmp.
*/
int py_talloc_default_cmp(PyObject *_obj1, PyObject *_obj2)
{
py_talloc_Object *obj1 = (py_talloc_Object *)_obj1,
*obj2 = (py_talloc_Object *)_obj2;
if (obj1->ob_type != obj2->ob_type)
return (obj1->ob_type - obj2->ob_type);
return (py_talloc_get_ptr(obj1) - py_talloc_get_ptr(obj2));
}
static void py_cobject_talloc_free(void *ptr)
{
talloc_free(ptr);

View File

@ -55,5 +55,6 @@ PyObject *py_talloc_default_repr(PyObject *py_obj);
PyObject *PyCObject_FromTallocPtr(void *);
PyObject *PyString_FromString_check_null(const char *ptr);
int py_talloc_default_cmp(PyObject *obj1, PyObject *obj2);
#endif /* _PY_TALLOC_H_ */

View File

@ -325,6 +325,7 @@ sub PythonStruct($$$$$$)
$self->pidl(".tp_dealloc = py_talloc_dealloc,");
$self->pidl(".tp_getset = $getsetters,");
$self->pidl(".tp_repr = py_talloc_default_repr,");
$self->pidl(".tp_compare = py_talloc_default_cmp,");
if ($docstring) {
$self->pidl(".tp_doc = $docstring,");
}