]> sigrok.org Git - libsigrokdecode.git/blobdiff - srd.c
sdcard_spi: Adapt for MSB-first bits from spi PD.
[libsigrokdecode.git] / srd.c
diff --git a/srd.c b/srd.c
index 07d79523ae859dd3d8de5d5e7d71ce0455dcf220..f5b885fecc8008ffdab72b81c92407e878a7058c 100644 (file)
--- a/srd.c
+++ b/srd.c
@@ -25,6 +25,9 @@
 
 /** @cond PRIVATE */
 
+/* Python module search paths */
+SRD_PRIV GSList *searchpaths = NULL;
+
 /* session.c */
 extern GSList *sessions;
 extern int max_session_id;
@@ -32,9 +35,6 @@ extern int max_session_id;
 /* decoder.c */
 extern SRD_PRIV GSList *pd_list;
 
-/* module_sigrokdecode.c */
-extern PyMODINIT_FUNC PyInit_sigrokdecode(void);
-
 /** @endcond */
 
 /**
@@ -194,8 +194,8 @@ SRD_API int srd_exit(void)
                srd_session_destroy((struct srd_session *)l->data);
 
        srd_decoder_unload_all();
-       g_slist_free(pd_list);
-       pd_list = NULL;
+       g_slist_free_full(searchpaths, g_free);
+       searchpaths = NULL;
 
        /* Py_Finalize() returns void, any finalization errors are ignored. */
        Py_Finalize();
@@ -259,8 +259,19 @@ SRD_PRIV int srd_decoder_searchpath_add(const char *path)
        PySys_SetPath(wc_new_path);
        g_string_free(new_path, TRUE);
        g_free(wc_new_path);
+       searchpaths = g_slist_append(searchpaths, g_strdup(path));
 
        return SRD_OK;
 }
 
+/* @private */
+SRD_PRIV gboolean srd_check_init(void)
+{
+       if (max_session_id < 0) {
+               srd_err("Library is not initialized.");
+               return FALSE;
+       } else
+               return TRUE;
+}
+
 /** @} */