use g_strsplit to save work
Dana Jansens danakj@orodu.net
1 files changed,
7 insertions(+),
13 deletions(-)
jump to
M
parser/parse.c
→
parser/parse.c
@@ -262,20 +262,14 @@
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; }