From 1f86c8a20907ad7c955150c793b853a6b03075be Mon Sep 17 00:00:00 2001 From: Patrik Flykt Date: Thu, 24 May 2012 16:24:57 +0300 Subject: [PATCH] resolver: Simplify code to return if a resolver entry exists --- src/resolver.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/resolver.c b/src/resolver.c index 4780ac1..3ce74c3 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); } -- 2.7.4