* make mu_msg_to_list optionally strip leading/trailing whitespace

This commit is contained in:
Dirk-Jan C. Binnema 2011-07-06 02:12:59 +03:00
parent ca6212944c
commit 86d7968bc2
2 changed files with 12 additions and 5 deletions

View File

@ -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);

View File

@ -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);
/**