]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoder.c
Stacked protocol decoders implementation.
[libsigrokdecode.git] / decoder.c
index f06d5e9e5a2efae5351c6af8fc695fd6fa2c4b11..d626bd39db3aae063a6f58502c0df1349fce7ced 100644 (file)
--- a/decoder.c
+++ b/decoder.c
@@ -25,7 +25,6 @@
 
 /* The list of protocol decoders. */
 GSList *pd_list = NULL;
-GSList *di_list = NULL;
 
 
 /**
@@ -78,8 +77,6 @@ int srd_load_decoder(const char *name, struct srd_decoder **dec)
        int alen, r, i;
        char **ann;
 
-       fprintf(stdout, "%s: %s\n", __func__, name);
-
        /* "Import" the Python module. */
        if (!(py_mod = PyImport_ImportModule(name))) { /* NEWREF */
                PyErr_Print(); /* Returns void. */
@@ -92,7 +89,7 @@ int srd_load_decoder(const char *name, struct srd_decoder **dec)
                if (PyErr_Occurred())
                        PyErr_Print(); /* Returns void. */
                Py_XDECREF(py_mod);
-               fprintf(stderr, "Decoder class not found in PD module %s\n", name);
+               srd_err("Decoder class not found in PD module %s", name);
                return SRD_ERR_PYTHON; /* TODO: More specific error? */
        }
 
@@ -117,9 +114,6 @@ int srd_load_decoder(const char *name, struct srd_decoder **dec)
        if ((r = h_str(py_res, "author", &(d->author))) < 0)
                return r;
 
-       if ((r = h_str(py_res, "email", &(d->email))) < 0)
-               return r;
-
        if ((r = h_str(py_res, "license", &(d->license))) < 0)
                return r;
 
@@ -168,7 +162,11 @@ int srd_unload_decoder(struct srd_decoder *dec)
 {
        g_free(dec->id);
        g_free(dec->name);
+       g_free(dec->longname);
        g_free(dec->desc);
+       g_free(dec->longdesc);
+       g_free(dec->author);
+       g_free(dec->license);
        g_free(dec->func);
 
        /* TODO: Free everything in inputformats and outputformats. */