session: Correct GSequence sorting to use service_entry structs
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 1 Jul 2011 08:01:10 +0000 (11:01 +0300)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 6 Jul 2011 09:23:15 +0000 (11:23 +0200)
The items on session->service_list GSequence are of type
service_entry. Fix sorting function to cast the items correctly.

src/session.c

index 91758e2..45bcc0e 100644 (file)
@@ -637,11 +637,12 @@ static gint sort_allowed_bearers(struct connman_service *service_a,
 
 static gint sort_services(gconstpointer a, gconstpointer b, gpointer user_data)
 {
-       struct connman_service *service_a = (void *)a;
-       struct connman_service *service_b = (void *)b;
+       struct service_entry *entry_a = (void *)a;
+       struct service_entry *entry_b = (void *)b;
        struct connman_session *session = user_data;
 
-       return sort_allowed_bearers(service_a, service_b, session);
+       return sort_allowed_bearers(entry_a->service, entry_b->service,
+                               session);
 }
 
 static void cleanup_session(gpointer user_data)