X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=srd.c;h=eb29f61599ce09ecd90f9174ee3051df3d9eae32;hb=23db45031fe3406985ad3cf2216a7f61cf2a15d4;hp=e040e3aac87fbcf71e0f7f8bd97bb10478bb6e6c;hpb=7969d8035530d40753c4f880c90a4e90f9679ccc;p=libsigrokdecode.git diff --git a/srd.c b/srd.c index e040e3a..eb29f61 100644 --- a/srd.c +++ b/srd.c @@ -188,11 +188,6 @@ err: return SRD_ERR_PYTHON; } -SRD_API GSList *srd_searchpaths_get(void) -{ - return g_slist_copy_deep(searchpaths, (GCopyFunc)g_strdup, NULL); -} - /** * Initialize libsigrokdecode. * @@ -312,7 +307,8 @@ SRD_API int srd_exit(void) { srd_dbg("Exiting libsigrokdecode."); - g_slist_foreach(sessions, (GFunc)srd_session_destroy, NULL); + for (GSList *l = sessions; l; l = l->next) + srd_session_destroy(l->data); srd_decoder_unload_all(); g_slist_free_full(searchpaths, g_free); @@ -391,4 +387,21 @@ err: return SRD_ERR_PYTHON; } +/** + * Return the list of protocol decoder search paths. + * + * @return The list of search paths used when loading protocol decoders. + * + * @since 0.5.1 + */ +SRD_API GSList *srd_searchpaths_get(void) +{ + GSList *paths = NULL; + + for (GSList *l = searchpaths; l; l = l->next) + paths = g_slist_append(paths, g_strdup(l->data)); + + return paths; +} + /** @} */