diff --git a/src/mu-str.c b/src/mu-str.c index 950a9f8d..bf0e597b 100644 --- a/src/mu-str.c +++ b/src/mu-str.c @@ -399,7 +399,7 @@ mu_str_from_list (const GSList *lst, char sepa) } GSList* -mu_str_to_list (const char *str, char sepa) +mu_str_to_list (const char *str, char sepa, gboolean strip) { GSList *lst; gchar **strs, **cur; @@ -413,8 +413,14 @@ mu_str_to_list (const char *str, char sepa) sep[0] = sepa; strs = g_strsplit (str, sep, -1); - for (cur = strs, lst = NULL; cur && *cur; ++cur) - lst = g_slist_prepend (lst, g_strdup(*cur)); + for (cur = strs, lst = NULL; cur && *cur; ++cur) { + char *elm; + elm = g_strdup(*cur); + if (strip) + elm = g_strstrip (elm); + + lst = g_slist_prepend (lst, elm); + } lst = g_slist_reverse (lst); g_strfreev (strs); diff --git a/src/mu-str.h b/src/mu-str.h index 175cb51b..98bc1828 100644 --- a/src/mu-str.h +++ b/src/mu-str.h @@ -277,14 +277,15 @@ char* mu_str_from_list (const GSList *lst, char sepa); /** - * convert a #sepa-separated list of strings in to a GSList + * convert a #se0pa-separated list of strings in to a GSList * * @param str a #sepa-separated list of strings * @param the separator character + * @param remove leading/trailing whitespace from the string * * @return a newly allocated GSList (free with mu_str_free_list) */ -GSList* mu_str_to_list (const char *str, char sepa); +GSList* mu_str_to_list (const char *str, char sepa, gboolean strip); /**