diff options
author | Alok Barsode <alok.barsode@linux.intel.com> | 2012-04-05 13:20:13 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-04-05 18:54:49 +0300 |
commit | 7a1a8e658bf3fcba09efbb842fdf6c739a5cea67 (patch) | |
tree | da2ad29fcebd10d7e9d1e46251fd291b2311149d /src/timeserver.c | |
parent | d92d7610a4a0f40b112eadbbe826d5f394fed880 (diff) | |
download | connman-7a1a8e658bf3fcba09efbb842fdf6c739a5cea67.tar.gz connman-7a1a8e658bf3fcba09efbb842fdf6c739a5cea67.tar.bz2 connman-7a1a8e658bf3fcba09efbb842fdf6c739a5cea67.zip |
Replace older system timeserver values with new ones instead of appending
Fixes BMC#24997.
Diffstat (limited to 'src/timeserver.c')
-rw-r--r-- | src/timeserver.c | 93 |
1 files changed, 1 insertions, 92 deletions
diff --git a/src/timeserver.c b/src/timeserver.c index d31801f0..08dd81b5 100644 --- a/src/timeserver.c +++ b/src/timeserver.c @@ -225,100 +225,9 @@ void __connman_timeserver_stop() __connman_ntp_stop(); } -int __connman_timeserver_system_append(const char *server) +int __connman_timeserver_system_set(char **servers) { - int len; - char **servers = NULL; - - if (server == NULL) { - save_timeservers(servers); - goto restart; - } - - DBG("server %s", server); - - servers = load_timeservers(); - - if (servers != NULL) { - int i; - - for (i = 0; servers[i] != NULL; i++) - if (g_strcmp0(servers[i], server) == 0) { - g_strfreev(servers); - return -EEXIST; - } - - len = g_strv_length(servers); - servers = g_try_renew(char *, servers, len + 2); - } else { - len = 0; - servers = g_try_new0(char *, len + 2); - } - - if (servers == NULL) - return -ENOMEM; - - servers[len] = g_strdup(server); - servers[len + 1] = NULL; - - save_timeservers(servers); - - g_strfreev(servers); -restart: - connman_timeserver_restart(); - - return 0; -} - -int __connman_timeserver_system_remove(const char *server) -{ - char **servers; - char **temp; - int len, i, j; - - if (server == NULL) - return -EINVAL; - - DBG("server %s", server); - - servers = load_timeservers(); - - if (servers == NULL) - return 0; - - len = g_strv_length(servers); - if (len == 1) { - if (g_strcmp0(servers[0], server) != 0) { - g_strfreev(servers); - return 0; - } - - g_strfreev(servers); - servers = NULL; - save_timeservers(servers); - return 0; - } - - temp = g_try_new0(char *, len - 1); - if (temp == NULL) { - g_strfreev(servers); - return -ENOMEM; - } - - for (i = 0, j = 0; i < len; i++) { - if (g_strcmp0(servers[i], server) != 0) { - temp[j] = g_strdup(servers[i]); - j++; - } - } - temp[len - 1] = NULL; - - g_strfreev(servers); - servers = g_strdupv(temp); - g_strfreev(temp); - save_timeservers(servers); - g_strfreev(servers); connman_timeserver_restart(); |