1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

lib/tevent: squash 'cast between incompatible function types' warning

squash 'cast between incompatible function types' warning

To avoid warning above produced by using
-Wcast-function-type we;

  + ensure PyCFunctions of type METH_NOARGS defined dummy arg
  + ensure PyCFunctions of type METH_KEYWORDS use 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:
Noel Power 2019-05-02 19:49:09 +01:00 committed by Andreas Schneider
parent 5720f20a19
commit d93ec5445b

View File

@ -37,6 +37,9 @@
#define PyStr_AsUTF8 PyString_AsString
#endif
/* discard signature of 'func' in favour of 'target_sig' */
#define PY_DISCARD_FUNC_SIG(target_sig, func) (target_sig)(void(*)(void))func
void init_tevent(void);
typedef struct {
@ -205,7 +208,8 @@ static PyObject *py_register_backend(PyObject *self, PyObject *args)
Py_RETURN_NONE;
}
static PyObject *py_tevent_context_reinitialise(TeventContext_Object *self)
static PyObject *py_tevent_context_reinitialise(TeventContext_Object *self,
PyObject *Py_UNUSED(ignored))
{
int ret = tevent_re_initialise(self->ev);
if (ret != 0) {
@ -215,13 +219,15 @@ static PyObject *py_tevent_context_reinitialise(TeventContext_Object *self)
Py_RETURN_NONE;
}
static PyObject *py_tevent_queue_stop(TeventQueue_Object *self)
static PyObject *py_tevent_queue_stop(TeventQueue_Object *self,
PyObject *Py_UNUSED(ignored))
{
tevent_queue_stop(self->queue);
Py_RETURN_NONE;
}
static PyObject *py_tevent_queue_start(TeventQueue_Object *self)
static PyObject *py_tevent_queue_start(TeventQueue_Object *self,
PyObject *Py_UNUSED(ignored))
{
tevent_queue_start(self->queue);
Py_RETURN_NONE;
@ -262,9 +268,11 @@ static PyObject *py_tevent_queue_add(TeventQueue_Object *self, PyObject *args)
}
static PyMethodDef py_tevent_queue_methods[] = {
{ "stop", (PyCFunction)py_tevent_queue_stop, METH_NOARGS,
{ "stop", (PyCFunction)py_tevent_queue_stop,
METH_NOARGS,
"S.stop()" },
{ "start", (PyCFunction)py_tevent_queue_start, METH_NOARGS,
{ "start", (PyCFunction)py_tevent_queue_start,
METH_NOARGS,
"S.start()" },
{ "add", (PyCFunction)py_tevent_queue_add, METH_VARARGS,
"S.add(ctx, req, trigger, baton)" },
@ -278,7 +286,8 @@ static PyObject *py_tevent_context_wakeup_send(PyObject *self, PyObject *args)
Py_RETURN_NONE;
}
static PyObject *py_tevent_context_loop_wait(TeventContext_Object *self)
static PyObject *py_tevent_context_loop_wait(TeventContext_Object *self,
PyObject *Py_UNUSED(ignored))
{
if (tevent_loop_wait(self->ev) != 0) {
PyErr_SetNone(PyExc_RuntimeError);
@ -287,7 +296,8 @@ static PyObject *py_tevent_context_loop_wait(TeventContext_Object *self)
Py_RETURN_NONE;
}
static PyObject *py_tevent_context_loop_once(TeventContext_Object *self)
static PyObject *py_tevent_context_loop_once(TeventContext_Object *self,
PyObject *Py_UNUSED(ignored))
{
if (tevent_loop_once(self->ev) != 0) {
PyErr_SetNone(PyExc_RuntimeError);
@ -379,7 +389,9 @@ static int py_tevent_timer_traverse(TeventTimer_Object *self, visitproc visit, v
return 0;
}
static PyObject* py_tevent_timer_get_active(TeventTimer_Object *self) {
static PyObject* py_tevent_timer_get_active(TeventTimer_Object *self,
PyObject *Py_UNUSED(ignored))
{
return PyBool_FromLong(self->timer != NULL);
}
@ -554,7 +566,8 @@ static PyObject *py_tevent_context_add_fd(TeventContext_Object *self, PyObject *
}
static PyMethodDef py_tevent_context_methods[] = {
{ "reinitialise", (PyCFunction)py_tevent_context_reinitialise, METH_NOARGS,
{ "reinitialise", (PyCFunction)py_tevent_context_reinitialise,
METH_NOARGS,
"S.reinitialise()" },
{ "wakeup_send", (PyCFunction)py_tevent_context_wakeup_send,
METH_VARARGS, "S.wakeup_send(wakeup_time) -> req" },
@ -573,31 +586,36 @@ static PyMethodDef py_tevent_context_methods[] = {
{ NULL },
};
static PyObject *py_tevent_req_wakeup_recv(PyObject *self)
static PyObject *py_tevent_req_wakeup_recv(PyObject *self,
PyObject *Py_UNUSED(ignored))
{
/* FIXME */
Py_RETURN_NONE;
}
static PyObject *py_tevent_req_received(PyObject *self)
static PyObject *py_tevent_req_received(PyObject *self,
PyObject *Py_UNUSED(ignored))
{
/* FIXME */
Py_RETURN_NONE;
}
static PyObject *py_tevent_req_is_error(PyObject *self)
static PyObject *py_tevent_req_is_error(PyObject *self,
PyObject *Py_UNUSED(ignored))
{
/* FIXME */
Py_RETURN_NONE;
}
static PyObject *py_tevent_req_poll(PyObject *self)
static PyObject *py_tevent_req_poll(PyObject *self,
PyObject *Py_UNUSED(ignored))
{
/* FIXME */
Py_RETURN_NONE;
}
static PyObject *py_tevent_req_is_in_progress(PyObject *self)
static PyObject *py_tevent_req_is_in_progress(PyObject *self,
PyObject *Py_UNUSED(ignored))
{
/* FIXME */
Py_RETURN_NONE;
@ -624,13 +642,15 @@ static PyObject *py_tevent_req_set_error(PyObject *self, PyObject *args)
Py_RETURN_NONE;
}
static PyObject *py_tevent_req_done(PyObject *self)
static PyObject *py_tevent_req_done(PyObject *self,
PyObject *Py_UNUSED(ignored))
{
/* FIXME */
Py_RETURN_NONE;
}
static PyObject *py_tevent_req_notify_callback(PyObject *self)
static PyObject *py_tevent_req_notify_callback(PyObject *self,
PyObject *Py_UNUSED(ignored))
{
/* FIXME */
Py_RETURN_NONE;
@ -642,7 +662,8 @@ static PyObject *py_tevent_req_set_endtime(PyObject *self, PyObject *args)
Py_RETURN_NONE;
}
static PyObject *py_tevent_req_cancel(TeventReq_Object *self)
static PyObject *py_tevent_req_cancel(TeventReq_Object *self,
PyObject *Py_UNUSED(ignored))
{
if (!tevent_req_cancel(self->req)) {
PyErr_SetNone(PyExc_RuntimeError);
@ -652,9 +673,11 @@ static PyObject *py_tevent_req_cancel(TeventReq_Object *self)
}
static PyMethodDef py_tevent_req_methods[] = {
{ "wakeup_recv", (PyCFunction)py_tevent_req_wakeup_recv, METH_NOARGS,
{ "wakeup_recv", (PyCFunction)py_tevent_req_wakeup_recv,
METH_NOARGS,
"Wakeup received" },
{ "received", (PyCFunction)py_tevent_req_received, METH_NOARGS,
{ "received", (PyCFunction)py_tevent_req_received,
METH_NOARGS,
"Receive finished" },
{ "is_error", (PyCFunction)py_tevent_req_is_error, METH_NOARGS,
"is_error() -> (error, state)" },
@ -690,7 +713,8 @@ static PyTypeObject TeventReq_Type = {
/* FIXME: .tp_new = py_tevent_req_new, */
};
static PyObject *py_tevent_queue_get_length(TeventQueue_Object *self)
static PyObject *py_tevent_queue_get_length(TeventQueue_Object *self,
PyObject *Py_UNUSED(ignored))
{
return PyInt_FromLong(tevent_queue_length(self->queue));
}
@ -719,7 +743,8 @@ static PyTypeObject TeventQueue_Type = {
.tp_methods = py_tevent_queue_methods,
};
static PyObject *py_tevent_context_signal_support(PyObject *_self)
static PyObject *py_tevent_context_signal_support(PyObject *_self,
PyObject *Py_UNUSED(ignored))
{
TeventContext_Object *self = (TeventContext_Object *)_self;
return PyBool_FromLong(tevent_signal_support(self->ev));
@ -728,7 +753,8 @@ static PyObject *py_tevent_context_signal_support(PyObject *_self)
static PyGetSetDef py_tevent_context_getsetters[] = {
{
.name = discard_const_p(char, "signal_support"),
.get = (getter)py_tevent_context_signal_support,
.get = PY_DISCARD_FUNC_SIG(getter,
py_tevent_context_signal_support),
.doc = discard_const_p(char, "if this platform and tevent context support signal handling"),
},
{ NULL }
@ -793,7 +819,8 @@ static PyObject *py_set_default_backend(PyObject *self, PyObject *args)
Py_RETURN_NONE;
}
static PyObject *py_backend_list(PyObject *self)
static PyObject *py_backend_list(PyObject *self,
PyObject *Py_UNUSED(ignored))
{
PyObject *ret = NULL;
PyObject *string = NULL;