diff options
author | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-05-24 16:24:57 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-05-28 17:00:38 +0300 |
commit | 1f86c8a20907ad7c955150c793b853a6b03075be (patch) | |
tree | 2338433458f7d73e4dab0ce6b3b0e3cfe54a6c00 /src/resolver.c | |
parent | 3ba2d070a7349a0f35e74be9eb995d43db5e7a7c (diff) | |
download | connman-1f86c8a20907ad7c955150c793b853a6b03075be.tar.gz connman-1f86c8a20907ad7c955150c793b853a6b03075be.tar.bz2 connman-1f86c8a20907ad7c955150c793b853a6b03075be.zip |
resolver: Simplify code to return if a resolver entry exists
Diffstat (limited to 'src/resolver.c')
-rw-r--r-- | src/resolver.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/resolver.c b/src/resolver.c index 4780ac12..3ce74c32 100644 --- a/src/resolver.c +++ b/src/resolver.c @@ -362,7 +362,7 @@ static int append_resolver(const char *interface, const char *domain, int connman_resolver_append(const char *interface, const char *domain, const char *server) { - GSList *list, *matches = NULL; + GSList *list; DBG("interface %s domain %s server %s", interface, domain, server); @@ -372,18 +372,15 @@ int connman_resolver_append(const char *interface, const char *domain, for (list = entry_list; list; list = list->next) { struct entry_data *entry = list->data; - if (entry->timeout > 0 || - g_strcmp0(entry->interface, interface) != 0 || - g_strcmp0(entry->domain, domain) != 0 || - g_strcmp0(entry->server, server) != 0) + if (entry->timeout > 0) continue; - matches = g_slist_append(matches, entry); + if (g_strcmp0(entry->interface, interface) == 0 && + g_strcmp0(entry->domain, domain) == 0 && + g_strcmp0(entry->server, server) == 0) + return -EEXIST; } - if (matches != NULL) - remove_entries(matches); - return append_resolver(interface, domain, server, 0, 0); } |