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
