diff options
-rw-r--r-- | src/service.c | 9 |
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); } |