Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=gservice.git;a=commitdiff;h=aef808bc829b228655d4849fe3394f3c225c3964

commit aef808bc829b228655d4849fe3394f3c225c3964
Author: Priyank <[email protected]>
Date:   Sat Jan 17 11:48:29 2009 +0530

Services are now displayed in alphabetically sorted order

diff --git a/src/gservice-backend.c b/src/gservice-backend.c
index 539fa4b..cbc9add 100644
--- a/src/gservice-backend.c
+++ b/src/gservice-backend.c
@@ -208,6 +208,41 @@ gsvc_get_active_service_list (void)
return ret;
}

+static int
+gsvc_list_sort_func (gconstpointer *a, gconstpointer *b)
+{
+       gservice_entry_t *asvc = (gservice_entry_t*)a;
+       gservice_entry_t *bsvc = (gservice_entry_t*)b;
+       char    aschar;
+       char    bschar;
+
+       if (!asvc)
+       {
+               return -1;
+       }
+       if (!bsvc)
+       {
+               return 1;
+       }
+       aschar = asvc->name[0];
+       bschar = bsvc->name[0];
+       if (aschar > bschar)
+       {
+               return 1;
+       }
+       else
+       if (aschar < bschar)
+       {
+               return -1;
+       }
+       else
+       {
+               return 0;
+       }
+
+       return 0;
+}
+
GList *
gsvc_service_get_list (void)
{
@@ -269,6 +304,8 @@ gsvc_service_get_list (void)
}
}

+       /* sort the list */
+       ret = g_list_sort (ret, (GCompareFunc)gsvc_list_sort_func);
cleanup:
/* free temporary data */
g_list_free (alist);
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to