summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/glib-helper.c24
-rw-r--r--common/glib-helper.h1
2 files changed, 25 insertions, 0 deletions
diff --git a/common/glib-helper.c b/common/glib-helper.c
index cb8f35c4..771b9d76 100644
--- a/common/glib-helper.c
+++ b/common/glib-helper.c
@@ -277,3 +277,27 @@ gchar *bt_list2string(GSList *list)
return str;
}
+
+GSList *bt_string2list(const gchar *str)
+{
+ GSList *l = NULL;
+ gchar **uuids;
+ int i = 0;
+
+ if (!str)
+ return NULL;
+
+ /* FIXME: eglib doesn't support g_strsplit */
+ uuids = g_strsplit(str, " ", 0);
+ if (!uuids)
+ return NULL;
+
+ while (uuids[i]) {
+ l = g_slist_append(l, uuids[i]);
+ i++;
+ }
+
+ g_free(uuids);
+
+ return l;
+}
diff --git a/common/glib-helper.h b/common/glib-helper.h
index 7cfdc5dc..ed724af6 100644
--- a/common/glib-helper.h
+++ b/common/glib-helper.h
@@ -29,3 +29,4 @@ int bt_discover_services(const bdaddr_t *src, const bdaddr_t *dst,
gchar *bt_uuid2string(uuid_t *uuid);
gchar *bt_list2string(GSList *list);
+GSList *bt_string2list(const gchar *str);