diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-12-13 16:01:18 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-12-13 16:01:18 +0100 |
commit | 2f09e0d729845dd47373c9c7e70b8aad566ebf14 (patch) | |
tree | 754c038c4a516d4aaf799265582ad00c55c6aa8a /src/resolver.c | |
parent | 16d4c499a52e8e8116015be66c86e15bb82f96be (diff) | |
download | connman-2f09e0d729845dd47373c9c7e70b8aad566ebf14.tar.gz connman-2f09e0d729845dd47373c9c7e70b8aad566ebf14.tar.bz2 connman-2f09e0d729845dd47373c9c7e70b8aad566ebf14.zip |
Add support for sorting resolvers by priority
Diffstat (limited to 'src/resolver.c')
-rw-r--r-- | src/resolver.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/resolver.c b/src/resolver.c index 929fd2e5..a8132361 100644 --- a/src/resolver.c +++ b/src/resolver.c @@ -27,6 +27,14 @@ static GSList *resolver_list = NULL; +static gint compare_priority(gconstpointer a, gconstpointer b) +{ + const struct connman_resolver *resolver1 = a; + const struct connman_resolver *resolver2 = b; + + return resolver2->priority - resolver1->priority; +} + /** * connman_resolver_register: * @resolver: resolver module @@ -39,7 +47,8 @@ int connman_resolver_register(struct connman_resolver *resolver) { DBG("resolver %p name %s", resolver, resolver->name); - resolver_list = g_slist_append(resolver_list, resolver); + resolver_list = g_slist_insert_sorted(resolver_list, resolver, + compare_priority); return 0; } |