Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalwareutils.git;a=commitdiff;h=12b1a1ccbce3f50414ae59e29314106b7298b9b6

commit 12b1a1ccbce3f50414ae59e29314106b7298b9b6
Author: Miklos Vajna <[EMAIL PROTECTED]>
Date:   Tue Mar 25 15:30:23 2008 +0100

fwnet_iflist(): sort the interfaces

diff --git a/libfwnetconfig/libfwnetconfig.c b/libfwnetconfig/libfwnetconfig.c
index 71bb268..8134e60 100644
--- a/libfwnetconfig/libfwnetconfig.c
+++ b/libfwnetconfig/libfwnetconfig.c
@@ -223,10 +223,11 @@ int fwnet_is_dhcp(fwnet_interface_t *iface)
*/
GList *fwnet_iflist()
{
-       GList *ret = NULL;
+       GList *ret = NULL, *iflist = NULL;
char desc[128];
DIR *dir;
struct dirent *ent;
+       int i;

// /sys/class/net/
dir = opendir(FWNET_IFPATH);
@@ -236,11 +237,17 @@ GList *fwnet_iflist()
{
if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..") || 
!strcmp(ent->d_name, "lo"))
continue;
-               fwnet_ifdesc(ent->d_name, desc, sizeof(desc));
-               ret = g_list_append(ret, g_strdup(ent->d_name));
-               ret = g_list_append(ret, g_strdup(desc));
+               iflist = g_list_append(iflist, g_strdup(ent->d_name));
}
closedir(dir);
+       iflist = g_list_sort(iflist, strcmp);
+       for(i=0; i<g_list_length(iflist); i++)
+       {
+               fwnet_ifdesc(g_list_nth_data(iflist, i), desc, sizeof(desc));
+               ret = g_list_append(ret, g_strdup(g_list_nth_data(iflist, i)));
+               ret = g_list_append(ret, g_strdup(desc));
+       }
+       g_list_free(iflist);
return ret;
}
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to