diff options
| author | Leandro Pereira <leandro@hardinfo.org> | 2012-01-07 17:31:46 -0200 | 
|---|---|---|
| committer | Leandro Pereira <leandro@hardinfo.org> | 2012-01-07 17:33:12 -0200 | 
| commit | 75848a2ccdcb1985180bf026da3f39405851a6d9 (patch) | |
| tree | f9b900ccf034c1b6733b8d5c3aa5f0a07d156ff6 /modules/devices | |
| parent | b58f976580d40ef6dfa33cc111253e3c549ca049 (diff) | |
Show moterboard information in the new summary screen
Diffstat (limited to 'modules/devices')
| -rw-r--r-- | modules/devices/dmi.c | 20 | 
1 files changed, 16 insertions, 4 deletions
| diff --git a/modules/devices/dmi.c b/modules/devices/dmi.c index 8cc45462..9d54fa9c 100644 --- a/modules/devices/dmi.c +++ b/modules/devices/dmi.c @@ -43,10 +43,17 @@ DMIInfo dmi_info_table[] = {  gchar *dmi_info = NULL; +static void add_to_moreinfo(const char *group, const char *key, char *value) +{ +  char *new_key = g_strconcat("DMI:", group, ":", key, NULL); +  g_hash_table_replace(moreinfo, new_key, g_strdup(g_strstrip(value))); +} +  gboolean dmi_get_info_dmidecode()  {    FILE *dmi_pipe;    gchar buffer[256]; +  const gchar *group;    DMIInfo *info;    gboolean dmi_failed = FALSE;    gint i; @@ -60,8 +67,8 @@ gboolean dmi_get_info_dmidecode()      info = &dmi_info_table[i];      if (*(info->name) == '$') { -      dmi_info = h_strdup_cprintf("[%s]\n", dmi_info, -                                  (info->name) + 1); +      group = info->name + 1; +      dmi_info = h_strdup_cprintf("[%s]\n", dmi_info, group);      } else {        gchar *temp; @@ -77,6 +84,8 @@ gboolean dmi_get_info_dmidecode()            dmi_failed = TRUE;            break;          } +         +        add_to_moreinfo(group, info->name, buffer);          const gchar *url = vendor_get_url(buffer);          if (url) { @@ -121,6 +130,7 @@ gboolean dmi_get_info_sys()  {    FILE *dmi_file;    gchar buffer[256]; +  const gchar *group;    DMIInfo *info;    gboolean dmi_failed = FALSE;    gint i; @@ -134,8 +144,8 @@ gboolean dmi_get_info_sys()      info = &dmi_info_table[i];      if (*(info->name) == '$') { -      dmi_info = h_strdup_cprintf("[%s]\n", dmi_info, -                                  (info->name) + 1); +      group = info->name + 1; +      dmi_info = h_strdup_cprintf("[%s]\n", dmi_info, group);      } else {        if (!info->file)          continue; @@ -143,6 +153,8 @@ gboolean dmi_get_info_sys()        if ((dmi_file = fopen(info->file, "r"))) {          (void)fgets(buffer, 256, dmi_file);          fclose(dmi_file); + +        add_to_moreinfo(group, info->name, buffer);          const gchar *url = vendor_get_url(buffer);          if (url) { | 
