From: Dana Jansens Date: Wed, 15 Oct 2003 03:11:59 +0000 (+0000) Subject: use g_strsplit to save work X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=8085f3490fb5790d15fcb47988bbc24e17467725;p=chaz%2Fopenbox use g_strsplit to save work --- diff --git a/parser/parse.c b/parser/parse.c index a791073b..de7bba6e 100644 --- a/parser/parse.c +++ b/parser/parse.c @@ -262,20 +262,14 @@ gboolean parse_attr_contains(const char *val, xmlNodePtr node, static GSList* split_paths(const gchar *paths) { GSList *list = NULL; - gchar *c, *e, *s; + gchar **spl, **it; - c = g_strdup(paths); - s = c; - e = c - 1; - while ((e = strchr(e + 1, ':'))) { - *e = '\0'; - if (s[0] != '\0') - list = g_slist_append(list, g_strdup(s)); - s = e + 1; - } - if (s[0] != '\0') - list = g_slist_append(list, g_strdup(s)); - g_free(c); + if (!paths) + return NULL; + spl = g_strsplit(paths, ":", -1); + for (it = spl; *it; ++it) + list = g_slist_append(list, *it); + g_free(spl); return list; }