diff options
| author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2009-04-04 14:21:43 -0300 | 
|---|---|---|
| committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2009-04-04 14:21:43 -0300 | 
| commit | 24d285d8dce5c51c708580bc01a563beba91bea3 (patch) | |
| tree | 69c003ca31c68f537a321f6ef40cc33768ba08dd /hardinfo2/arch/linux/common | |
| parent | af94cd7af28b102087b20568b1561aab8dedc796 (diff) | |
Better support for Vendor Name/URL display in DMI section
Diffstat (limited to 'hardinfo2/arch/linux/common')
| -rw-r--r-- | hardinfo2/arch/linux/common/dmi.h | 67 | 
1 files changed, 47 insertions, 20 deletions
| diff --git a/hardinfo2/arch/linux/common/dmi.h b/hardinfo2/arch/linux/common/dmi.h index dc7792cb..7c5e6e6f 100644 --- a/hardinfo2/arch/linux/common/dmi.h +++ b/hardinfo2/arch/linux/common/dmi.h @@ -76,16 +76,29 @@ gboolean dmi_get_info_dmidecode()            break;          } -      const gchar *url = vendor_get_url(buffer); -      gchar *tmp; -      if (url) -	 tmp = g_strdup_printf("%s (%s)", vendor_get_name(buffer), url); - -	dmi_info = h_strdup_cprintf("%s=%s\n", -                                    dmi_info, -                                    info->name, -                                    url ? tmp : buffer); -         +        const gchar *url = vendor_get_url(buffer); +        if (url) { +          const gchar *vendor = vendor_get_name(buffer); +          if (g_strstr_len(vendor, -1, g_strstrip(buffer)) || +              g_strstr_len(g_strstrip(buffer), -1, vendor)) { +            dmi_info = h_strdup_cprintf("%s=%s (%s)\n", +                                        dmi_info, +                                        info->name, +                                        g_strstrip(buffer), +                                        url); +          } else { +            dmi_info = h_strdup_cprintf("%s=%s (%s, %s)\n", +                                        dmi_info, +                                        info->name, +                                        g_strstrip(buffer), +                                        vendor, url); +          } +        } else { +          dmi_info = h_strdup_cprintf("%s=%s\n", +                                      dmi_info, +                                      info->name, +                                      buffer); +        }        } else {          g_free(temp);          dmi_failed = TRUE; @@ -128,16 +141,30 @@ gboolean dmi_get_info_sys()        if ((dmi_file = fopen(info->file, "r"))) {          (void)fgets(buffer, 256, dmi_file);          fclose(dmi_file); - -      const gchar *url = vendor_get_url(buffer); -      gchar *tmp; -      if (url) -  	 tmp = g_strdup_printf("%s (%s)", vendor_get_name(buffer), url); - -	dmi_info = h_strdup_cprintf("%s=%s\n", -                                    dmi_info, -                                    info->name, -                                    url ? tmp : buffer); +         +        const gchar *url = vendor_get_url(buffer); +        if (url) { +          const gchar *vendor = vendor_get_name(buffer); +          if (g_strstr_len(vendor, -1, g_strstrip(buffer)) || +              g_strstr_len(g_strstrip(buffer), -1, vendor)) { +            dmi_info = h_strdup_cprintf("%s=%s (%s)\n", +                                        dmi_info, +                                        info->name, +                                        g_strstrip(buffer), +                                        url); +          } else { +            dmi_info = h_strdup_cprintf("%s=%s (%s, %s)\n", +                                        dmi_info, +                                        info->name, +                                        g_strstrip(buffer), +                                        vendor, url); +          } +        } else { +          dmi_info = h_strdup_cprintf("%s=%s\n", +                                      dmi_info, +                                      info->name, +                                      g_strstrip(buffer)); +        }        } else {          dmi_failed = TRUE;          break; | 
