int alen, ret, i;
char **ann;
- srd_dbg("srd: loading module '%s'", name);
+ srd_dbg("Loading module '%s'.", name);
py_basedec = py_method = py_attr = NULL;
if (!(d = g_try_malloc0(sizeof(struct srd_decoder)))) {
- srd_dbg("srd: Failed to malloc struct srd_decoder");
+ srd_dbg("Failed to malloc struct srd_decoder.");
ret = SRD_ERR_MALLOC;
goto err_out;
}
}
if (!(py_basedec = PyObject_GetAttrString(mod_sigrokdecode, "Decoder"))) {
- srd_dbg("srd: sigrokdecode module not loaded");
+ srd_dbg("sigrokdecode module not loaded.");
goto err_out;
}
"a subclass of sigrokdecode.Decoder.", name);
goto err_out;
}
- Py_DecRef(py_basedec);
+ Py_CLEAR(py_basedec);
/* Check for a proper start() method. */
if (!PyObject_HasAttrString(d->py_dec, "start")) {
"is not a method.", name);
goto err_out;
}
- Py_DecRef(py_method);
+ Py_CLEAR(py_method);
/* Check for a proper decode() method. */
if (!PyObject_HasAttrString(d->py_dec, "decode")) {
"is not a method.", name);
goto err_out;
}
- Py_DecRef(py_method);
+ Py_CLEAR(py_method);
/* If present, options must be a dictionary. */
if (PyObject_HasAttrString(d->py_dec, "options")) {
if (!PyDict_Check(py_attr)) {
srd_err("Protocol decoder %s options attribute is not "
"a dictionary.", d->name);
+ Py_DecRef(py_attr);
goto err_out;
}
Py_DecRef(py_attr);