X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=type_decoder.c;h=d4c592f224e8c3f1b933cf0fb1ac5d6f981e47a8;hb=583001b3f16795abd24278fbb2e5232a7ca27fb0;hp=11c8ec0640e1996b16f352e30743f8214426947f;hpb=17475b09ef9504f91a28b0873b53cec329513077;p=libsigrokdecode.git
diff --git a/type_decoder.c b/type_decoder.c
index 11c8ec0..d4c592f 100644
--- a/type_decoder.c
+++ b/type_decoder.c
@@ -17,9 +17,9 @@
* along with this program. If not, see .
*/
-#include "libsigrokdecode.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
-#include "libsigrokdecode-internal.h"
-#include "config.h"
+#include
+#include "libsigrokdecode-internal.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
+#include "libsigrokdecode.h"
#include
typedef struct {
@@ -40,10 +40,10 @@ static int convert_annotation(struct srd_decoder_inst *di, PyObject *obj,
PyObject *py_tmp;
struct srd_pd_output *pdo;
struct srd_proto_data_annotation *pda;
- int ann_format;
+ int ann_class;
char **ann_text;
- /* Should be a list of [annotation format, [string, ...]]. */
+ /* Should be a list of [annotation class, [string, ...]]. */
if (!PyList_Check(obj) && !PyTuple_Check(obj)) {
srd_err("Protocol decoder %s submitted %s instead of list.",
di->decoder->name, obj->ob_type->tp_name);
@@ -53,14 +53,14 @@ static int convert_annotation(struct srd_decoder_inst *di, PyObject *obj,
/* Should have 2 elements. */
if (PyList_Size(obj) != 2) {
srd_err("Protocol decoder %s submitted annotation list with "
- "%d elements instead of 2", di->decoder->name,
+ "%zd elements instead of 2", di->decoder->name,
PyList_Size(obj));
return SRD_ERR_PYTHON;
}
/*
* The first element should be an integer matching a previously
- * registered annotation format.
+ * registered annotation class.
*/
py_tmp = PyList_GetItem(obj, 0);
if (!PyLong_Check(py_tmp)) {
@@ -68,10 +68,10 @@ static int convert_annotation(struct srd_decoder_inst *di, PyObject *obj,
"first element was not an integer.", di->decoder->name);
return SRD_ERR_PYTHON;
}
- ann_format = PyLong_AsLong(py_tmp);
- if (!(pdo = g_slist_nth_data(di->decoder->annotations, ann_format))) {
+ ann_class = PyLong_AsLong(py_tmp);
+ if (!(pdo = g_slist_nth_data(di->decoder->annotations, ann_class))) {
srd_err("Protocol decoder %s submitted data to unregistered "
- "annotation format %d.", di->decoder->name, ann_format);
+ "annotation class %d.", di->decoder->name, ann_class);
return SRD_ERR_PYTHON;
}
@@ -88,9 +88,8 @@ static int convert_annotation(struct srd_decoder_inst *di, PyObject *obj,
return SRD_ERR_PYTHON;
}
- if (!(pda = g_try_malloc(sizeof(struct srd_proto_data_annotation))))
- return SRD_ERR_MALLOC;
- pda->ann_format = ann_format;
+ pda = g_malloc(sizeof(struct srd_proto_data_annotation));
+ pda->ann_class = ann_class;
pda->ann_text = ann_text;
pdata->data = pda;
@@ -117,7 +116,7 @@ static int convert_binary(struct srd_decoder_inst *di, PyObject *obj,
/* Should have 2 elements. */
if (PyTuple_Size(obj) != 2) {
srd_err("Protocol decoder %s submitted SRD_OUTPUT_BINARY tuple "
- "with %d elements instead of 2", di->decoder->name,
+ "with %zd elements instead of 2", di->decoder->name,
PyList_Size(obj));
return SRD_ERR_PYTHON;
}
@@ -151,8 +150,7 @@ static int convert_binary(struct srd_decoder_inst *di, PyObject *obj,
return SRD_ERR_PYTHON;
}
- if (!(pdb = g_try_malloc(sizeof(struct srd_proto_data_binary))))
- return SRD_ERR_MALLOC;
+ pdb = g_malloc(sizeof(struct srd_proto_data_binary));
if (PyBytes_AsStringAndSize(py_tmp, &buf, &size) == -1)
return SRD_ERR_PYTHON;
pdb->bin_class = bin_class;
@@ -233,10 +231,7 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
di->inst_id, start_sample, end_sample,
OUTPUT_TYPES[pdo->output_type], output_id);
- if (!(pdata = g_try_malloc0(sizeof(struct srd_proto_data)))) {
- srd_err("Failed to g_malloc() struct srd_proto_data.");
- return NULL;
- }
+ pdata = g_malloc0(sizeof(struct srd_proto_data));
pdata->start_sample = start_sample;
pdata->end_sample = end_sample;
pdata->pdo = pdo;
@@ -256,7 +251,7 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
case SRD_OUTPUT_PYTHON:
for (l = di->next_di; l; l = l->next) {
next_di = l->data;
- srd_spew("Sending %d-%d to instance %s",
+ srd_spew("Sending %" PRIu64 "-%" PRIu64 " to instance %s",
start_sample, end_sample, next_di->inst_id);
if (!(py_res = PyObject_CallMethod(
next_di->py_inst, "decode", "KKO", start_sample,
@@ -350,10 +345,7 @@ static PyObject *Decoder_register(PyObject *self, PyObject *args,
srd_dbg("Instance %s creating new output type %d for %s.",
di->inst_id, output_type, proto_id);
- if (!(pdo = g_try_malloc(sizeof(struct srd_pd_output)))) {
- PyErr_SetString(PyExc_MemoryError, "struct srd_pd_output");
- return NULL;
- }
+ pdo = g_malloc(sizeof(struct srd_pd_output));
/* pdo_id is just a simple index, nothing is deleted from this list anyway. */
pdo->pdo_id = g_slist_length(di->pd_output);