mirror of
https://github.com/samba-team/samba.git
synced 2025-02-26 21:57:41 +03:00
s4/librpc: squash 'cast between incompatible function types' warning
Where possible make PyCFunction definition signature match. Sometimes this is not possible (e.g. when the c-function is associated with a python method definition with 'METH_VARARGS|METH_KEYWORDS' in this case we use the PY_DISCARD_FUNC_SIG macro. Signed-off-by: Noel Power <noel.power@suse.com> Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
parent
0830485d1c
commit
cc60866990
@ -343,28 +343,32 @@ static PyObject *py_token_has_sid(PyObject *self, PyObject *args)
|
|||||||
return PyBool_FromLong(security_token_has_sid(token, sid));
|
return PyBool_FromLong(security_token_has_sid(token, sid));
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *py_token_is_anonymous(PyObject *self)
|
static PyObject *py_token_is_anonymous(PyObject *self,
|
||||||
|
PyObject *Py_UNUSED(ignored))
|
||||||
{
|
{
|
||||||
struct security_token *token = pytalloc_get_ptr(self);
|
struct security_token *token = pytalloc_get_ptr(self);
|
||||||
|
|
||||||
return PyBool_FromLong(security_token_is_anonymous(token));
|
return PyBool_FromLong(security_token_is_anonymous(token));
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *py_token_is_system(PyObject *self)
|
static PyObject *py_token_is_system(PyObject *self,
|
||||||
|
PyObject *Py_UNUSED(ignored))
|
||||||
{
|
{
|
||||||
struct security_token *token = pytalloc_get_ptr(self);
|
struct security_token *token = pytalloc_get_ptr(self);
|
||||||
|
|
||||||
return PyBool_FromLong(security_token_is_system(token));
|
return PyBool_FromLong(security_token_is_system(token));
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *py_token_has_builtin_administrators(PyObject *self)
|
static PyObject *py_token_has_builtin_administrators(PyObject *self,
|
||||||
|
PyObject *Py_UNUSED(ignored))
|
||||||
{
|
{
|
||||||
struct security_token *token = pytalloc_get_ptr(self);
|
struct security_token *token = pytalloc_get_ptr(self);
|
||||||
|
|
||||||
return PyBool_FromLong(security_token_has_builtin_administrators(token));
|
return PyBool_FromLong(security_token_has_builtin_administrators(token));
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *py_token_has_nt_authenticated_users(PyObject *self)
|
static PyObject *py_token_has_nt_authenticated_users(PyObject *self,
|
||||||
|
PyObject *Py_UNUSED(ignored))
|
||||||
{
|
{
|
||||||
struct security_token *token = pytalloc_get_ptr(self);
|
struct security_token *token = pytalloc_get_ptr(self);
|
||||||
|
|
||||||
@ -447,7 +451,8 @@ static PyObject *py_privilege_id(PyObject *self, PyObject *args)
|
|||||||
return PyInt_FromLong(sec_privilege_id(name));
|
return PyInt_FromLong(sec_privilege_id(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *py_random_sid(PyObject *self)
|
static PyObject *py_random_sid(PyObject *self,
|
||||||
|
PyObject *Py_UNUSED(ignored))
|
||||||
{
|
{
|
||||||
struct dom_sid *sid;
|
struct dom_sid *sid;
|
||||||
PyObject *ret;
|
PyObject *ret;
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
#include "python/py3compat.h"
|
#include "python/py3compat.h"
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "python/modules.h"
|
||||||
#include <structmember.h>
|
#include <structmember.h>
|
||||||
#include "librpc/rpc/pyrpc.h"
|
#include "librpc/rpc/pyrpc.h"
|
||||||
#include "lib/events/events.h"
|
#include "lib/events/events.h"
|
||||||
@ -293,7 +294,10 @@ static PyObject *py_iface_request(PyObject *self, PyObject *args, PyObject *kwar
|
|||||||
}
|
}
|
||||||
|
|
||||||
static PyMethodDef dcerpc_interface_methods[] = {
|
static PyMethodDef dcerpc_interface_methods[] = {
|
||||||
{ "request", (PyCFunction)py_iface_request, METH_VARARGS|METH_KEYWORDS, "S.request(opnum, data, object=None) -> data\nMake a raw request" },
|
{ "request", PY_DISCARD_FUNC_SIG(PyCFunction, py_iface_request),
|
||||||
|
METH_VARARGS|METH_KEYWORDS,
|
||||||
|
"S.request(opnum, data, object=None) -> data\n"
|
||||||
|
"Make a raw request" },
|
||||||
{ NULL, NULL, 0, NULL },
|
{ NULL, NULL, 0, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
#include "python/py3compat.h"
|
#include "python/py3compat.h"
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
#include "python/modules.h"
|
||||||
#include "librpc/rpc/pyrpc_util.h"
|
#include "librpc/rpc/pyrpc_util.h"
|
||||||
#include "librpc/rpc/dcerpc.h"
|
#include "librpc/rpc/dcerpc.h"
|
||||||
#include "librpc/rpc/pyrpc.h"
|
#include "librpc/rpc/pyrpc.h"
|
||||||
@ -324,7 +325,8 @@ bool PyInterface_AddNdrRpcMethods(PyTypeObject *ifacetype, const struct PyNdrRpc
|
|||||||
}
|
}
|
||||||
wb->name = discard_const_p(char, mds[i].name);
|
wb->name = discard_const_p(char, mds[i].name);
|
||||||
wb->flags = PyWrapperFlag_KEYWORDS;
|
wb->flags = PyWrapperFlag_KEYWORDS;
|
||||||
wb->wrapper = (wrapperfunc)py_dcerpc_call_wrapper;
|
wb->wrapper = PY_DISCARD_FUNC_SIG(wrapperfunc,
|
||||||
|
py_dcerpc_call_wrapper);
|
||||||
wb->doc = discard_const_p(char, mds[i].doc);
|
wb->doc = discard_const_p(char, mds[i].doc);
|
||||||
|
|
||||||
ret = PyDescr_NewWrapper(ifacetype, wb, discard_const_p(void, &mds[i]));
|
ret = PyDescr_NewWrapper(ifacetype, wb, discard_const_p(void, &mds[i]));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user