diff options
author | Agney Lopes Roth Ferraz <agney@debian.org> | 2009-09-24 15:13:54 -0300 |
---|---|---|
committer | Simon Quigley <tsimonq2@ubuntu.com> | 2017-06-19 14:38:49 -0500 |
commit | 0bd39c5982a7776caae412f93f9dd2abf0b3eaea (patch) | |
tree | 0fdf3718ea01d3aa834e850c983c65edce14a583 /arch/linux/common/dmi.h | |
parent | 1b6665085f47e0a86e4bebd5e313a2ab63600eb4 (diff) | |
parent | 7c47b5b9584f5011aeba18d7e1b26b3d3124825f (diff) |
Import Debian changes 0.5.1-1
hardinfo (0.5.1-1) unstable; urgency=low
* New upstream version. (Closes: #530290, #517591)
Diffstat (limited to 'arch/linux/common/dmi.h')
-rw-r--r-- | arch/linux/common/dmi.h | 60 |
1 files changed, 49 insertions, 11 deletions
diff --git a/arch/linux/common/dmi.h b/arch/linux/common/dmi.h index f69fdc21..7c5e6e6f 100644 --- a/arch/linux/common/dmi.h +++ b/arch/linux/common/dmi.h @@ -70,16 +70,35 @@ gboolean dmi_get_info_dmidecode() if ((dmi_pipe = popen(temp, "r"))) { g_free(temp); - fgets(buffer, 256, dmi_pipe); + (void)fgets(buffer, 256, dmi_pipe); if (pclose(dmi_pipe)) { dmi_failed = TRUE; break; } - - dmi_info = h_strdup_cprintf("%s=%s\n", - dmi_info, - info->name, - 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; @@ -120,13 +139,32 @@ gboolean dmi_get_info_sys() continue; if ((dmi_file = fopen(info->file, "r"))) { - fgets(buffer, 256, dmi_file); + (void)fgets(buffer, 256, dmi_file); fclose(dmi_file); - dmi_info = h_strdup_cprintf("%s=%s\n", - dmi_info, - info->name, - 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; |