timeserver: Helper function for adding timeservers once to a list
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Mon, 30 Apr 2012 11:12:58 +0000 (14:12 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 1 May 2012 04:08:49 +0000 (06:08 +0200)
src/connman.h
src/timeserver.c

index 8610d9b..550107c 100644 (file)
@@ -369,6 +369,8 @@ void __connman_timeserver_cleanup(void);
 
 char **__connman_timeserver_system_get();
 
+GSList *__connman_timeserver_add_list(GSList *server_list,
+               const char *timeserver);
 GSList *__connman_timeserver_get_all(struct connman_service *service);
 int __connman_timeserver_sync(struct connman_service *service);
 void __connman_timeserver_sync_next();
index 62e050e..847f74f 100644 (file)
@@ -156,6 +156,23 @@ void __connman_timeserver_sync_next()
        return;
 }
 
+GSList *__connman_timeserver_add_list(GSList *server_list,
+               const char *timeserver)
+{
+       GSList *list = server_list;
+
+       if (timeserver == NULL)
+               return server_list;
+
+       while (list != NULL) {
+               char *existing_server = list->data;
+               if (strcmp(timeserver, existing_server) == 0)
+                       return server_list;
+               list = g_slist_next(list);
+       }
+       return g_slist_prepend(server_list, g_strdup(timeserver));
+}
+
 /*
  * __connman_timeserver_get_all function creates the timeserver
  * list which will be used to determine NTP server for time corrections.