We can call pytalloc_reference() and avoid having this in the header file
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
static PyObject *PyCredentialCacheContainer_from_ccache_container(struct ccache_container *ccc)
{
- PyCredentialCacheContainerObject *py_ret;
-
- if (ccc == NULL) {
- Py_RETURN_NONE;
- }
-
- py_ret = (PyCredentialCacheContainerObject *)PyCredentialCacheContainer.tp_alloc(&PyCredentialCacheContainer, 0);
- if (py_ret == NULL) {
- PyErr_NoMemory();
- return NULL;
- }
- py_ret->mem_ctx = talloc_new(NULL);
- py_ret->ccc = talloc_reference(py_ret->mem_ctx, ccc);
- return (PyObject *)py_ret;
+ return pytalloc_reference(&PyCredentialCacheContainer, ccc);
}
extern PyTypeObject PyCredentials;
extern PyTypeObject PyCredentialCacheContainer;
-typedef struct {
- PyObject_HEAD
- TALLOC_CTX *mem_ctx;
- struct ccache_container *ccc;
-} PyCredentialCacheContainerObject;
#define PyCredentials_Check(py_obj) PyObject_TypeCheck(py_obj, &PyCredentials)
#define PyCredentials_AsCliCredentials(py_obj) pytalloc_get_type(py_obj, struct cli_credentials)
#define cli_credentials_from_py_object(py_obj) (py_obj == Py_None)?cli_credentials_init_anon(NULL):PyCredentials_AsCliCredentials(py_obj)