]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoder.c
Clear decoder list after unloading, not just at exit.
[libsigrokdecode.git] / decoder.c
index e3ffb01288015d19e80b8cdba20fb3bdbd222325..71f479902eb29545b94eb6b98e50bf6df52adfdb 100644 (file)
--- a/decoder.c
+++ b/decoder.c
@@ -566,13 +566,12 @@ SRD_API int srd_decoder_unload(struct srd_decoder *dec)
 SRD_API int srd_decoder_load_all(void)
 {
        GDir *dir;
-       GError *error;
        const gchar *direntry;
 
        if (!srd_check_init())
                return SRD_ERR;
 
-       if (!(dir = g_dir_open(DECODERS_DIR, 0, &error))) {
+       if (!(dir = g_dir_open(DECODERS_DIR, 0, NULL))) {
                srd_err("Unable to open %s for reading.", DECODERS_DIR);
                return SRD_ERR_DECODERS_DIR;
        }
@@ -602,6 +601,8 @@ SRD_API int srd_decoder_unload_all(void)
                dec = l->data;
                srd_decoder_unload(dec);
        }
+       g_slist_free(pd_list);
+       pd_list = NULL;
 
        return SRD_OK;
 }