diff options
| author | hwspeedy <ns@bigbear.dk> | 2024-05-04 09:48:26 +0200 | 
|---|---|---|
| committer | hwspeedy <ns@bigbear.dk> | 2024-05-04 09:48:26 +0200 | 
| commit | b1868207ac267e97df98c652250ac829798720dd (patch) | |
| tree | 62a1d7ae04f02b1f2504c548d0312c2103663ccd /modules | |
| parent | 7aa9647ff46ffbfe292fabe943056fc01b419d41 (diff) | |
FIX Imrove UX - Enviroment Variables sorted - Fixes #27
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/computer/environment.c | 19 | 
1 files changed, 18 insertions, 1 deletions
| diff --git a/modules/computer/environment.c b/modules/computer/environment.c index bdec7456..b8243afe 100644 --- a/modules/computer/environment.c +++ b/modules/computer/environment.c @@ -19,6 +19,8 @@  #include "hardinfo.h"  #include "computer.h" +gint comparEnv (gpointer a, gpointer b) {return strcmp( (char*)a, (char*)b );} +  static gchar *_env = NULL;  void scan_env_var(gboolean reload)  { @@ -27,17 +29,32 @@ void scan_env_var(gboolean reload)      gchar **envlist;      gchar *st;      gint i; +    GList *list=NULL, *a;      g_free(_env); +    //read environment to GList      _env = g_strdup_printf("[%s]\n", _("Environment Variables") );      for (i = 0, envlist = g_listenv(); envlist[i]; i++) {          st=strwrap(g_getenv(envlist[i]),80,':'); -        _env = h_strdup_cprintf("%s=%s\n", _env, envlist[i], st); +        list = g_list_prepend(list, g_strdup_printf("%s=%s\n", envlist[i], st));          g_free(st);      }      g_strfreev(envlist); +    //sort +    list=g_list_sort(list,(GCompareFunc)comparEnv); + +    while(list){ +        _env = h_strdup_cprintf("%s", _env, (char *)list->data); + +        //next and free +        a=list; +        list=list->next; +        free(a->data); +        g_list_free_1(a); +    } +      SCAN_END();  } | 
