resolver: Clean up remove function
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Thu, 24 May 2012 13:25:01 +0000 (16:25 +0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Mon, 28 May 2012 14:00:45 +0000 (17:00 +0300)
A search domain will have it's server attribute set to NULL, thus
remove that explicit check. Also when comparing entry elements to
the given attributes, consider NULL being equal to NULL.

src/resolver.c

index 3ce74c3..a9d1341 100644 (file)
@@ -450,23 +450,20 @@ int connman_resolver_remove(const char *interface, const char *domain,
 
        DBG("interface %s domain %s server %s", interface, domain, server);
 
-       if (server == NULL)
-               return -EINVAL;
-
        for (list = entry_list; list; list = list->next) {
                struct entry_data *entry = list->data;
 
-               if (interface != NULL &&
-                               g_strcmp0(entry->interface, interface) != 0)
+               if (g_strcmp0(entry->interface, interface) != 0)
                        continue;
 
-               if (domain != NULL && g_strcmp0(entry->domain, domain) != 0)
+               if (g_strcmp0(entry->domain, domain) != 0)
                        continue;
 
                if (g_strcmp0(entry->server, server) != 0)
                        continue;
 
                matches = g_slist_append(matches, entry);
+               break;
        }
 
        if (matches == NULL)