summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/service.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/service.c b/src/service.c
index a6bd606c..018f12fc 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2968,10 +2968,15 @@ static DBusMessage *set_property(DBusConnection *conn,
while (dbus_message_iter_get_arg_type(&entry) == DBUS_TYPE_STRING) {
const char *val;
+ GSList *new_head;
+
dbus_message_iter_get_basic(&entry, &val);
- list = g_slist_prepend(list, strdup(val));
- count++;
+ new_head = __connman_timeserver_add_list(list, val);
+ if (list != new_head) {
+ count++;
+ list = new_head;
+ }
dbus_message_iter_next(&entry);
}