1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-10 12:58:35 +03:00

pyparam: Do not use pytalloc_Object directly

This type should not be used directly, it should have been made private
to pytalloc.  This then allows removal of the (PyCFunction) cast

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
(cherry picked from commit d82b11b21cb3905b112fc49956c98beb1cb79ed9)
This commit is contained in:
Andrew Bartlett 2016-02-29 16:27:31 +13:00 committed by Karolin Seeger
parent 1e839dc6da
commit 819a07a312

View File

@ -142,7 +142,7 @@ static PyObject *py_lp_ctx_get_helper(struct loadparm_context *lp_ctx, const cha
}
static PyObject *py_lp_ctx_load(pytalloc_Object *self, PyObject *args)
static PyObject *py_lp_ctx_load(PyObject *self, PyObject *args)
{
char *filename;
bool ret;
@ -158,7 +158,7 @@ static PyObject *py_lp_ctx_load(pytalloc_Object *self, PyObject *args)
Py_RETURN_NONE;
}
static PyObject *py_lp_ctx_load_default(pytalloc_Object *self)
static PyObject *py_lp_ctx_load_default(PyObject *self, PyObject *unused)
{
bool ret;
ret = lpcfg_load_default(PyLoadparmContext_AsLoadparmContext(self));
@ -170,7 +170,7 @@ static PyObject *py_lp_ctx_load_default(pytalloc_Object *self)
Py_RETURN_NONE;
}
static PyObject *py_lp_ctx_get(pytalloc_Object *self, PyObject *args)
static PyObject *py_lp_ctx_get(PyObject *self, PyObject *args)
{
char *param_name;
char *section_name = NULL;
@ -184,7 +184,7 @@ static PyObject *py_lp_ctx_get(pytalloc_Object *self, PyObject *args)
return ret;
}
static PyObject *py_lp_ctx_is_myname(pytalloc_Object *self, PyObject *args)
static PyObject *py_lp_ctx_is_myname(PyObject *self, PyObject *args)
{
char *name;
if (!PyArg_ParseTuple(args, "s", &name))
@ -193,7 +193,7 @@ static PyObject *py_lp_ctx_is_myname(pytalloc_Object *self, PyObject *args)
return PyBool_FromLong(lpcfg_is_myname(PyLoadparmContext_AsLoadparmContext(self), name));
}
static PyObject *py_lp_ctx_is_mydomain(pytalloc_Object *self, PyObject *args)
static PyObject *py_lp_ctx_is_mydomain(PyObject *self, PyObject *args)
{
char *name;
if (!PyArg_ParseTuple(args, "s", &name))
@ -202,7 +202,7 @@ static PyObject *py_lp_ctx_is_mydomain(pytalloc_Object *self, PyObject *args)
return PyBool_FromLong(lpcfg_is_mydomain(PyLoadparmContext_AsLoadparmContext(self), name));
}
static PyObject *py_lp_ctx_set(pytalloc_Object *self, PyObject *args)
static PyObject *py_lp_ctx_set(PyObject *self, PyObject *args)
{
char *name, *value;
bool ret;
@ -218,7 +218,7 @@ static PyObject *py_lp_ctx_set(pytalloc_Object *self, PyObject *args)
Py_RETURN_NONE;
}
static PyObject *py_lp_ctx_private_path(pytalloc_Object *self, PyObject *args)
static PyObject *py_lp_ctx_private_path(PyObject *self, PyObject *args)
{
char *name, *path;
PyObject *ret;
@ -232,7 +232,7 @@ static PyObject *py_lp_ctx_private_path(pytalloc_Object *self, PyObject *args)
return ret;
}
static PyObject *py_lp_ctx_services(pytalloc_Object *self)
static PyObject *py_lp_ctx_services(PyObject *self, PyObject *unused)
{
struct loadparm_context *lp_ctx = PyLoadparmContext_AsLoadparmContext(self);
PyObject *ret;
@ -247,7 +247,7 @@ static PyObject *py_lp_ctx_services(pytalloc_Object *self)
return ret;
}
static PyObject *py_lp_ctx_server_role(pytalloc_Object *self)
static PyObject *py_lp_ctx_server_role(PyObject *self, PyObject *unused)
{
struct loadparm_context *lp_ctx = PyLoadparmContext_AsLoadparmContext(self);
uint32_t role;
@ -322,7 +322,7 @@ static PyObject *py_lp_dump_a_parameter(PyObject *self, PyObject *args)
}
static PyObject *py_samdb_url(PyObject *self)
static PyObject *py_samdb_url(PyObject *self, PyObject *unused)
{
struct loadparm_context *lp_ctx = PyLoadparmContext_AsLoadparmContext(self);
return PyString_FromFormat("tdb://%s/sam.ldb", lpcfg_private_dir(lp_ctx));
@ -330,47 +330,47 @@ static PyObject *py_samdb_url(PyObject *self)
static PyMethodDef py_lp_ctx_methods[] = {
{ "load", (PyCFunction)py_lp_ctx_load, METH_VARARGS,
{ "load", py_lp_ctx_load, METH_VARARGS,
"S.load(filename) -> None\n"
"Load specified file." },
{ "load_default", (PyCFunction)py_lp_ctx_load_default, METH_NOARGS,
{ "load_default", py_lp_ctx_load_default, METH_NOARGS,
"S.load_default() -> None\n"
"Load default smb.conf file." },
{ "is_myname", (PyCFunction)py_lp_ctx_is_myname, METH_VARARGS,
{ "is_myname", py_lp_ctx_is_myname, METH_VARARGS,
"S.is_myname(name) -> bool\n"
"Check whether the specified name matches one of our netbios names." },
{ "is_mydomain", (PyCFunction)py_lp_ctx_is_mydomain, METH_VARARGS,
{ "is_mydomain", py_lp_ctx_is_mydomain, METH_VARARGS,
"S.is_mydomain(name) -> bool\n"
"Check whether the specified name matches our domain name." },
{ "get", (PyCFunction)py_lp_ctx_get, METH_VARARGS,
{ "get", py_lp_ctx_get, METH_VARARGS,
"S.get(name, service_name) -> value\n"
"Find specified parameter." },
{ "set", (PyCFunction)py_lp_ctx_set, METH_VARARGS,
{ "set", py_lp_ctx_set, METH_VARARGS,
"S.set(name, value) -> bool\n"
"Change a parameter." },
{ "private_path", (PyCFunction)py_lp_ctx_private_path, METH_VARARGS,
{ "private_path", py_lp_ctx_private_path, METH_VARARGS,
"S.private_path(name) -> path\n" },
{ "services", (PyCFunction)py_lp_ctx_services, METH_NOARGS,
{ "services", py_lp_ctx_services, METH_NOARGS,
"S.services() -> list" },
{ "server_role", (PyCFunction)py_lp_ctx_server_role, METH_NOARGS,
{ "server_role", py_lp_ctx_server_role, METH_NOARGS,
"S.server_role() -> value\n"
"Get the server role." },
{ "dump", (PyCFunction)py_lp_dump, METH_VARARGS,
{ "dump", py_lp_dump, METH_VARARGS,
"S.dump(stream, show_defaults=False)" },
{ "dump_a_parameter", (PyCFunction)py_lp_dump_a_parameter, METH_VARARGS,
{ "dump_a_parameter", py_lp_dump_a_parameter, METH_VARARGS,
"S.dump_a_parameter(stream, name, service_name)" },
{ "samdb_url", (PyCFunction)py_samdb_url, METH_NOARGS,
{ "samdb_url", py_samdb_url, METH_NOARGS,
"S.samdb_url() -> string\n"
"Returns the current URL for sam.ldb." },
{ NULL }
};
static PyObject *py_lp_ctx_default_service(pytalloc_Object *self, void *closure)
static PyObject *py_lp_ctx_default_service(PyObject *self, void *closure)
{
return PyLoadparmService_FromService(lpcfg_default_service(PyLoadparmContext_AsLoadparmContext(self)));
}
static PyObject *py_lp_ctx_config_file(pytalloc_Object *self, void *closure)
static PyObject *py_lp_ctx_config_file(PyObject *self, void *closure)
{
const char *configfile = lpcfg_configfile(PyLoadparmContext_AsLoadparmContext(self));
if (configfile == NULL)
@ -388,30 +388,15 @@ static PyGetSetDef py_lp_ctx_getset[] = {
static PyObject *py_lp_ctx_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
pytalloc_Object *ret = (pytalloc_Object *)type->tp_alloc(type, 0);
if (ret == NULL) {
PyErr_NoMemory();
return NULL;
}
ret->talloc_ctx = talloc_new(NULL);
if (ret->talloc_ctx == NULL) {
PyErr_NoMemory();
return NULL;
}
ret->ptr = loadparm_init_global(false);
if (ret->ptr == NULL) {
PyErr_NoMemory();
return NULL;
}
return (PyObject *)ret;
return pytalloc_reference(type, loadparm_init_global(false));
}
static Py_ssize_t py_lp_ctx_len(pytalloc_Object *self)
static Py_ssize_t py_lp_ctx_len(PyObject *self)
{
return lpcfg_numservices(PyLoadparmContext_AsLoadparmContext(self));
}
static PyObject *py_lp_ctx_getitem(pytalloc_Object *self, PyObject *name)
static PyObject *py_lp_ctx_getitem(PyObject *self, PyObject *name)
{
struct loadparm_service *service;
if (!PyString_Check(name)) {