From: Gerhard Sittig Date: Thu, 24 Nov 2022 12:10:04 +0000 (+0100) Subject: util: silence printf format compiler warnings (Python ssize_t) X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=02cc30befa2d5cdfa1d1c214012490332a88a333;p=libsigrokdecode.git util: silence printf format compiler warnings (Python ssize_t) On some platforms PY_FORMAT_SIZE_T seems to be ineffective, resulting in compiler warnings about printf format data type mismatches (observed in MXE builds). Silence the warnings. Prefer the ssize_t data type instead which we know the printf format of, reliably. --- diff --git a/util.c b/util.c index 1e914e3..3a5e336 100644 --- a/util.c +++ b/util.c @@ -115,7 +115,7 @@ err: SRD_PRIV int py_attr_as_strlist(PyObject *py_obj, const char *attr, GSList **outstrlist) { PyObject *py_list; - Py_ssize_t i; + ssize_t idx; int ret; char *outstr; PyGILState_STATE gstate; @@ -139,10 +139,10 @@ SRD_PRIV int py_attr_as_strlist(PyObject *py_obj, const char *attr, GSList **out *outstrlist = NULL; - for (i = 0; i < PyList_Size(py_list); i++) { - ret = py_listitem_as_str(py_list, i, &outstr); + for (idx = 0; idx < PyList_Size(py_list); idx++) { + ret = py_listitem_as_str(py_list, idx, &outstr); if (ret < 0) { - srd_dbg("Couldn't get item %" PY_FORMAT_SIZE_T "d.", i); + srd_dbg("Couldn't get item %zd.", idx); goto err; } *outstrlist = g_slist_append(*outstrlist, outstr); @@ -217,8 +217,9 @@ err: SRD_PRIV int py_listitem_as_str(PyObject *py_obj, Py_ssize_t idx, char **outstr) { - PyObject *py_value; PyGILState_STATE gstate; + ssize_t item_idx; + PyObject *py_value; gstate = PyGILState_Ensure(); @@ -227,8 +228,9 @@ SRD_PRIV int py_listitem_as_str(PyObject *py_obj, Py_ssize_t idx, goto err; } - if (!(py_value = PyList_GetItem(py_obj, idx))) { - srd_dbg("Couldn't get list item %" PY_FORMAT_SIZE_T "d.", idx); + item_idx = idx; + if (!(py_value = PyList_GetItem(py_obj, item_idx))) { + srd_dbg("Couldn't get list item %zd.", item_idx); goto err; }