mixer: simple module: python 3.10 PyTuple_SET_ITEM() fix

Make code compatible with Python 3.10 As noted in bpo-30459,
PyTuple_SET_ITEM() does not return a value.

Link: https://bugs.python.org/issue30459
Fixes: https://github.com/alsa-project/alsa-lib/pull/210
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Graham Inggs 2022-01-20 09:29:37 +02:00 committed by Jaroslav Kysela
parent b62fc061e4
commit ea15c83525

View file

@ -775,8 +775,8 @@ pymixer_melement_new(struct pymixer *pymixer, PyObject *args)
obj = PyDict_GetItemString(pymixer->mdict, class); obj = PyDict_GetItemString(pymixer->mdict, class);
if (obj) { if (obj) {
obj1 = PyTuple_New(4); obj1 = PyTuple_New(4);
if (PyTuple_SET_ITEM(obj1, 0, (PyObject *)pymixer)) PyTuple_SET_ITEM(obj1, 0, (PyObject *)pymixer);
Py_INCREF((PyObject *)pymixer); Py_INCREF((PyObject *)pymixer);
PyTuple_SET_ITEM(obj1, 1, PyUnicode_FromString(name)); PyTuple_SET_ITEM(obj1, 1, PyUnicode_FromString(name));
PyTuple_SET_ITEM(obj1, 2, PyInt_FromLong(index)); PyTuple_SET_ITEM(obj1, 2, PyInt_FromLong(index));
PyTuple_SET_ITEM(obj1, 3, PyInt_FromLong(weight)); PyTuple_SET_ITEM(obj1, 3, PyInt_FromLong(weight));
@ -920,8 +920,8 @@ static PyObject *new_helem(struct python_priv *priv, snd_hctl_elem_t *helem)
obj = PyDict_GetItemString(priv->py_mdict, "HElement"); obj = PyDict_GetItemString(priv->py_mdict, "HElement");
if (obj) { if (obj) {
obj1 = PyTuple_New(3); obj1 = PyTuple_New(3);
if (PyTuple_SET_ITEM(obj1, 0, py_hctl)) PyTuple_SET_ITEM(obj1, 0, py_hctl);
Py_INCREF(py_hctl); Py_INCREF(py_hctl);
PyTuple_SET_ITEM(obj1, 1, PyFloat_FromDouble(1)); PyTuple_SET_ITEM(obj1, 1, PyFloat_FromDouble(1));
PyTuple_SET_ITEM(obj1, 2, PyInt_FromLong((long)helem)); PyTuple_SET_ITEM(obj1, 2, PyInt_FromLong((long)helem));
obj2 = PyObject_CallObject(obj, obj1); obj2 = PyObject_CallObject(obj, obj1);
@ -995,11 +995,11 @@ int alsa_mixer_simple_event(snd_mixer_class_t *class, unsigned int mask,
} }
if (o == NULL) if (o == NULL)
return 0; return 0;
if (PyTuple_SET_ITEM(t, 1, o)) PyTuple_SET_ITEM(t, 1, o);
Py_INCREF(o); Py_INCREF(o);
o = melem ? find_melem(priv, melem) : Py_None; o = melem ? find_melem(priv, melem) : Py_None;
if (PyTuple_SET_ITEM(t, 2, o)) PyTuple_SET_ITEM(t, 2, o);
Py_INCREF(o); Py_INCREF(o);
r = PyObject_CallObject(priv->py_event_func, t); r = PyObject_CallObject(priv->py_event_func, t);
Py_DECREF(t); Py_DECREF(t);
if (r) { if (r) {
@ -1066,8 +1066,8 @@ static int alsa_mixer_simple_pyinit(struct python_priv *priv,
obj1 = PyTuple_New(3); obj1 = PyTuple_New(3);
PyTuple_SET_ITEM(obj1, 0, PyInt_FromLong((long)class)); PyTuple_SET_ITEM(obj1, 0, PyInt_FromLong((long)class));
PyTuple_SET_ITEM(obj1, 1, PyInt_FromLong((long)mixer)); PyTuple_SET_ITEM(obj1, 1, PyInt_FromLong((long)mixer));
if (PyTuple_SET_ITEM(obj1, 2, mdict)) PyTuple_SET_ITEM(obj1, 2, mdict);
Py_INCREF(mdict); Py_INCREF(mdict);
obj2 = PyObject_CallObject(obj, obj1); obj2 = PyObject_CallObject(obj, obj1);
Py_XDECREF(obj1); Py_XDECREF(obj1);
PyDict_SetItemString(mdict, "mixer", obj2); PyDict_SetItemString(mdict, "mixer", obj2);