]> sigrok.org Git - libsigrokdecode.git/blobdiff - srd.c
tests/pdtest: Small fix to make it work with Python 3.2.
[libsigrokdecode.git] / srd.c
diff --git a/srd.c b/srd.c
index 76e1b348fd62e403cf660c35c6f3b13aad93e27c..097ed29a5ac8368c5cd83af71849a2fe515b7168 100644 (file)
--- a/srd.c
+++ b/srd.c
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "libsigrokdecode.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
-#include "libsigrokdecode-internal.h"
+#include "libsigrokdecode-internal.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
+#include "libsigrokdecode.h"
 #include "config.h"
 #include <glib.h>
 
 /** @cond PRIVATE */
 
-/* session.c */
-extern GSList *sessions;
-extern int max_session_id;
-
-/* decoder.c */
-extern SRD_PRIV GSList *pd_list;
+/* Python module search paths */
+SRD_PRIV GSList *searchpaths = NULL;
 
-/* module_sigrokdecode.c */
-extern PyMODINIT_FUNC PyInit_sigrokdecode(void);
+/* session.c */
+extern SRD_PRIV GSList *sessions;
+extern SRD_PRIV int max_session_id;
 
 /** @endcond */
 
@@ -65,7 +62,7 @@ extern PyMODINIT_FUNC PyInit_sigrokdecode(void);
  *
  * @section sec_mailinglists Mailing lists
  *
- * There are two mailing lists for sigrok/libsigrokdecode: <a href="https://lists.sourceforge.net/lists/listinfo/sigrok-devel">sigrok-devel</a> and <a href="https://lists.sourceforge.net/lists/listinfo/sigrok-commits">sigrok-commits</a>.
+ * There is one mailing list for sigrok/libsigrokdecode: <a href="https://lists.sourceforge.net/lists/listinfo/sigrok-devel">sigrok-devel</a>.
  *
  * @section sec_irc IRC
  *
@@ -194,6 +191,8 @@ SRD_API int srd_exit(void)
                srd_session_destroy((struct srd_session *)l->data);
 
        srd_decoder_unload_all();
+       g_slist_free_full(searchpaths, g_free);
+       searchpaths = NULL;
 
        /* Py_Finalize() returns void, any finalization errors are ignored. */
        Py_Finalize();
@@ -257,18 +256,9 @@ 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;
-}
-
 /** @} */