summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeandro Pereira <leandro@hardinfo.org>2019-07-12 08:28:36 -0700
committerLeandro Pereira <leandro@hardinfo.org>2019-07-12 08:31:18 -0700
commit512535ff97694c4cf0a824a2a2c357b0b90a1353 (patch)
tree80d5b52df7662e5c68d5ae1faeb04f4d6c997cef
parent0ad42047da7b8a11a07e73a75f9f415362eec867 (diff)
Show links for vendors
-rw-r--r--modules/devices/battery.c9
-rw-r--r--modules/devices/dmi.c143
-rw-r--r--modules/devices/dmi_memory.c16
-rw-r--r--modules/devices/gpu.c22
-rw-r--r--modules/devices/inputdevices.c14
-rw-r--r--modules/devices/pci.c22
-rw-r--r--modules/devices/storage.c38
-rw-r--r--modules/devices/usb.c8
-rw-r--r--modules/devices/x86/processor.c2
-rw-r--r--shell/shell.c1
10 files changed, 97 insertions, 178 deletions
diff --git a/modules/devices/battery.c b/modules/devices/battery.c
index 9994cfd8..6d50a52d 100644
--- a/modules/devices/battery.c
+++ b/modules/devices/battery.c
@@ -165,12 +165,9 @@ __scan_battery_acpi(void)
fclose(f);
- const gchar *url = vendor_get_url(manufacturer);
- if (url) {
- char *tmp = g_strdup_printf("%s (%s)", vendor_get_name(manufacturer), url);
- g_free(manufacturer);
- manufacturer = tmp;
- }
+ gchar *tmp = vendor_get_link(manufacturer);
+ g_free(manufacturer);
+ manufacturer = tmp;
if (g_str_equal(present, "yes")) {
if (remaining && capacity)
diff --git a/modules/devices/dmi.c b/modules/devices/dmi.c
index 0f8af169..c4b786f3 100644
--- a/modules/devices/dmi.c
+++ b/modules/devices/dmi.c
@@ -66,84 +66,83 @@ static void add_to_moreinfo(const char *group, const char *key, char *value)
moreinfo_add_with_prefix("DEV", new_key, g_strdup(g_strstrip(value)));
}
-gboolean dmi_get_info()
+gboolean dmi_get_info(void)
{
- const gchar *group = NULL;
- DMIInfo *info;
- gboolean dmi_succeeded = FALSE;
- gint i;
- gchar *value;
- const gchar *url, *vendor;
-
- if (dmi_info) {
- g_free(dmi_info);
- dmi_info = NULL;
- }
+ const gchar *group = NULL;
+ DMIInfo *info;
+ gboolean dmi_succeeded = FALSE;
+ gint i;
+ gchar *value;
+ const gchar *vendor;
+
+ if (dmi_info) {
+ g_free(dmi_info);
+ dmi_info = NULL;
+ }
- for (i = 0; i < G_N_ELEMENTS(dmi_info_table); i++) {
- info = &dmi_info_table[i];
-
- if (info->group) {
- group = info->name;
- dmi_info = h_strdup_cprintf("[%s]\n", dmi_info, _(info->name) );
- } else if (group && info->id_str) {
- int state = 3;
-
- if (strcmp(info->id_str, "chassis-type") == 0)
- value = dmi_chassis_type_str(-1, 1);
- else {
- switch ( dmi_str_status(info->id_str) ) {
- case 0:
- value = NULL;
- state = (getuid() == 0) ? 0 : 1;
- break;
- case -1:
- state = 2;
- case 1:
- value = dmi_get_str_abs(info->id_str);
- break;
+ for (i = 0; i < G_N_ELEMENTS(dmi_info_table); i++) {
+ info = &dmi_info_table[i];
+
+ if (info->group) {
+ group = info->name;
+ dmi_info = h_strdup_cprintf("[%s]\n", dmi_info, _(info->name));
+ } else if (group && info->id_str) {
+ int state = 3;
+
+ if (strcmp(info->id_str, "chassis-type") == 0)
+ value = dmi_chassis_type_str(-1, 1);
+ else {
+ switch (dmi_str_status(info->id_str)) {
+ case 0:
+ value = NULL;
+ state = (getuid() == 0) ? 0 : 1;
+ break;
+ case -1:
+ state = 2;
+ case 1:
+ value = dmi_get_str_abs(info->id_str);
+ break;
+ }
+ }
+
+ switch (state) {
+ case 0: /* no value, root */
+ dmi_info = h_strdup_cprintf("%s=%s\n", dmi_info, _(info->name),
+ _("(Not available)"));
+ break;
+ case 1: /* no value, no root */
+ dmi_info = h_strdup_cprintf("%s=%s\n", dmi_info, _(info->name),
+ _("(Not available; Perhaps try "
+ "running HardInfo as root.)"));
+ break;
+ case 2: /* ignored value */
+ if (params.markup_ok)
+ dmi_info = h_strdup_cprintf("%s=<s>%s</s>\n", dmi_info,
+ _(info->name), value);
+ else
+ dmi_info = h_strdup_cprintf("%s=[X]\"%s\"\n", dmi_info,
+ _(info->name), value);
+ break;
+ case 3: /* good value */
+ {
+ gchar *link = vendor_get_link(value);
+ dmi_info =
+ h_strdup_cprintf("%s=%s\n", dmi_info, _(info->name), link);
+ g_free(link);
+ add_to_moreinfo(group, info->name, value);
+ dmi_succeeded = TRUE;
+ break;
+ }
+ }
}
- }
-
- switch(state) {
- case 0: /* no value, root */
- dmi_info = h_strdup_cprintf("%s=%s\n", dmi_info,
- _(info->name), _("(Not available)") );
- break;
- case 1: /* no value, no root */
- dmi_info = h_strdup_cprintf("%s=%s\n", dmi_info,
- _(info->name), _("(Not available; Perhaps try running HardInfo as root.)") );
- break;
- case 2: /* ignored value */
- if (params.markup_ok)
- dmi_info = h_strdup_cprintf("%s=<s>%s</s>\n", dmi_info,
- _(info->name), value);
- else
- dmi_info = h_strdup_cprintf("%s=[X]\"%s\"\n", dmi_info,
- _(info->name), value);
- break;
- case 3: /* good value */
- url = vendor_get_url(value);
- if (url) {
- vendor = vendor_get_name(value);
- dmi_info = h_strdup_cprintf("%s=%s (%s, %s)\n", dmi_info,
- _(info->name), value, vendor, url);
- } else
- dmi_info = h_strdup_cprintf("%s=%s\n", dmi_info,
- _(info->name), value);
- add_to_moreinfo(group, info->name, value);
- dmi_succeeded = TRUE;
- break;
- }
}
- }
- if (!dmi_succeeded) {
- g_free(dmi_info);
- dmi_info = NULL;
- }
+ if (!dmi_succeeded) {
+ g_free(dmi_info);
+ dmi_info = NULL;
+ }
- return dmi_succeeded;
+ return dmi_succeeded;
}
void __scan_dmi()
diff --git a/modules/devices/dmi_memory.c b/modules/devices/dmi_memory.c
index df6e33a9..42672bac 100644
--- a/modules/devices/dmi_memory.c
+++ b/modules/devices/dmi_memory.c
@@ -557,15 +557,11 @@ gchar *make_spd_section(spd_data *spd) {
}
gchar *vendor_str = NULL;
if (spd->vendor) {
- if (spd->vendor->url)
- vendor_str = g_strdup_printf(" (%s, %s)",
- spd->vendor->name, spd->vendor->url );
+ vendor_str = vendor_get_link_from_vendor(spd->vendor);
}
gchar *dram_vendor_str = NULL;
if (spd->dram_vendor) {
- if (spd->dram_vendor->url)
- dram_vendor_str = g_strdup_printf(" (%s, %s)",
- spd->dram_vendor->name, spd->dram_vendor->url );
+ dram_vendor_str = vendor_get_link_from_vendor(spd->dram_vendor);
}
gchar *size_str = NULL;
if (!spd->size_MiB)
@@ -705,9 +701,7 @@ gchar *memory_devices_get_info() {
if (s->populated) {
gchar *vendor_str = NULL;
if (s->vendor) {
- if (s->vendor->url)
- vendor_str = g_strdup_printf(" (%s, %s)",
- s->vendor->name, s->vendor->url );
+ vendor_str = vendor_get_link_from_vendor(s->vendor);
}
gchar *size_str = NULL;
if (!s->size_str)
@@ -843,9 +837,7 @@ gchar *memory_devices_get_info() {
gchar *vendor_str = NULL;
if (s->vendor) {
- if (s->vendor->url)
- vendor_str = g_strdup_printf(" (%s, %s)",
- s->vendor->name, s->vendor->url );
+ vendor_str = vendor_get_link_from_vendor(s->vendor);
}
gchar *size_str = NULL;
if (!s->size_MiB)
diff --git a/modules/devices/gpu.c b/modules/devices/gpu.c
index 0814a62e..88a8d02f 100644
--- a/modules/devices/gpu.c
+++ b/modules/devices/gpu.c
@@ -57,26 +57,8 @@ static void _gpu_pci_dev(gpud* gpu) {
else
drm_path = g_strdup(_("(Unknown)"));
-#define USE_HARDINFO_VENDOR_THING 1
- if (USE_HARDINFO_VENDOR_THING) {
- const gchar *v_url = vendor_get_url(vendor);
- const gchar *v_name = vendor_get_name(vendor);
- if (v_url != NULL) {
- v_str = g_strdup_printf("%s (%s)", v_name, v_url);
- } else {
- v_str = g_strdup(vendor);
- }
- v_url = vendor_get_url(svendor);
- v_name = vendor_get_name(svendor);
- if (v_url != NULL) {
- sv_str = g_strdup_printf("%s (%s)", v_name, v_url);
- } else {
- sv_str = g_strdup(svendor);
- }
- } else {
- v_str = g_strdup(vendor);
- sv_str = g_strdup(svendor);
- }
+ v_str = vendor_get_link(vendor);
+ sv_str = vendor_get_link(svendor);
name = g_strdup_printf("%s %s", vendor, product);
key = g_strdup_printf("GPU%s", gpu->id);
diff --git a/modules/devices/inputdevices.c b/modules/devices/inputdevices.c
index cf1728a9..f3bacf5e 100644
--- a/modules/devices/inputdevices.c
+++ b/modules/devices/inputdevices.c
@@ -95,13 +95,7 @@ __scan_input_devices(void)
tmp, name,
input_devices[d].icon);
- const gchar *v_url = (gchar*)vendor_get_url(name);
- const gchar *v_name = (gchar*)vendor_get_name(name);
- gchar *v_str = NULL;
- if (v_url != NULL)
- v_str = g_strdup_printf("[0x%x] %s (%s)", vendor, v_name, v_url);
- else
- v_str = g_strdup_printf("0x%x", vendor);
+ gchar *v_str = vendor_get_link(name);
v_str = hardinfo_clean_value(v_str, 1);
name = hardinfo_clean_value(name, 1);
@@ -109,14 +103,14 @@ __scan_input_devices(void)
/* Name */ "%s=%s\n"
/* Type */ "%s=%s\n"
/* Bus */ "%s=0x%x\n"
- /* Vendor */ "%s=%s\n"
+ /* Vendor */ "%s=[0x%x] %s\n"
/* Product */"%s=0x%x\n"
/* Version */"%s=0x%x\n",
_("Device Information"),
_("Name"), name,
_("Type"), input_devices[d].name,
_("Bus"), bus,
- _("Vendor"), v_str,
+ _("Vendor"), vendor, v_str,
_("Product"), product,
_("Version"), version );
@@ -130,9 +124,9 @@ __scan_input_devices(void)
moreinfo_add_with_prefix("DEV", tmp, strhash);
g_free(tmp);
- g_free(v_str);
g_free(phys);
g_free(name);
+ g_free(v_str);
}
}
diff --git a/modules/devices/pci.c b/modules/devices/pci.c
index e1e02f23..eb9bce38 100644
--- a/modules/devices/pci.c
+++ b/modules/devices/pci.c
@@ -70,26 +70,8 @@ static gchar *_pci_dev(const pcid *p, gchar *icons) {
product = UNKIFNULL_AC(p->device_id_str);
sproduct = UNKIFNULL_AC(p->sub_device_id_str);
-#define USE_HARDINFO_VENDOR_THING 1
- if (USE_HARDINFO_VENDOR_THING) {
- const gchar *v_url = vendor_get_url(vendor);
- const gchar *v_name = vendor_get_name(vendor);
- if (v_url != NULL) {
- v_str = g_strdup_printf("%s (%s)", v_name, v_url);
- } else {
- v_str = g_strdup(vendor);
- }
- v_url = vendor_get_url(svendor);
- v_name = vendor_get_name(svendor);
- if (v_url != NULL) {
- sv_str = g_strdup_printf("%s (%s)", v_name, v_url);
- } else {
- sv_str = g_strdup(svendor);
- }
- } else {
- v_str = g_strdup(vendor);
- sv_str = g_strdup(svendor);
- }
+ v_str = vendor_get_link(vendor);
+ sv_str = vendor_get_link(svendor);
name = g_strdup_printf("%s %s", vendor, product);
key = g_strdup_printf("PCI%04x:%02x:%02x.%01x", p->domain, p->bus, p->device, p->function);
diff --git a/modules/devices/storage.c b/modules/devices/storage.c
index a56da832..def39839 100644
--- a/modules/devices/storage.c
+++ b/modules/devices/storage.c
@@ -133,7 +133,6 @@ gboolean __scan_udisks2_devices(void) {
icon = "hdd";
}
- url = vendor_get_url(vendor_str);
udisks2_storage_list = h_strdup_cprintf("$%s$%s=\n", udisks2_storage_list, devid, label);
storage_icons = h_strdup_cprintf("Icon$%s$%s=%s.png\n", storage_icons, devid, label, icon);
features = h_strdup_cprintf("%s", features, disk->removable ? _("Removable"): _("Fixed"));
@@ -157,17 +156,10 @@ gboolean __scan_udisks2_devices(void) {
moreinfo = g_strdup_printf(_("[Drive Information]\n"
"Model=%s\n"),
label);
- if (url) {
- moreinfo = h_strdup_cprintf(_("Vendor=%s (%s)\n"),
- moreinfo,
- vendor_get_name(vendor_str),
- url);
- }
- else {
- moreinfo = h_strdup_cprintf(_("Vendor=%s\n"),
- moreinfo,
- vendor_get_name(vendor_str));
- }
+
+ moreinfo = h_strdup_cprintf(_("Vendor=%s\n"),
+ moreinfo,
+ idle_free(vendor_get_link(vendor_str)));
size = size_human_readable((gfloat) disk->size);
moreinfo = h_strdup_cprintf(_("Revision=%s\n"
@@ -352,17 +344,9 @@ void __scan_scsi_devices(void)
gchar *strhash = g_strdup_printf(_("[Device Information]\n"
"Model=%s\n"), model);
- const gchar *url = vendor_get_url(model);
- if (url) {
- strhash = h_strdup_cprintf(_("Vendor=%s (%s)\n"),
- strhash,
- vendor_get_name(model),
- url);
- } else {
- strhash = h_strdup_cprintf(_("Vendor=%s\n"),
- strhash,
- vendor_get_name(model));
- }
+ strhash = h_strdup_cprintf(_("Vendor=%s\n"),
+ strhash,
+ idle_free(vendor_get_link(model)));
strhash = h_strdup_cprintf(_("Type=%s\n"
"Revision=%s\n"
@@ -559,13 +543,7 @@ void __scan_ide_devices(void)
gchar *strhash = g_strdup_printf(_("[Device Information]\n" "Model=%s\n"),
model);
- const gchar *url = vendor_get_url(model);
-
- if (url) {
- strhash = h_strdup_cprintf(_("Vendor=%s (%s)\n"), strhash, vendor_get_name(model), url);
- } else {
- strhash = h_strdup_cprintf(_("Vendor=%s\n"), strhash, vendor_get_name(model));
- }
+ strhash = h_strdup_cprintf(_("Vendor=%s\n"), strhash, idle_free(vendor_get_link(model)));
strhash = h_strdup_cprintf(_("Device Name=hd%c\n"
"Media=%s\n" "Cache=%dkb\n"), strhash, iface, media, cache);
diff --git a/modules/devices/usb.c b/modules/devices/usb.c
index 025ca62e..a2fda57a 100644
--- a/modules/devices/usb.c
+++ b/modules/devices/usb.c
@@ -118,13 +118,7 @@ static void _usb_dev(const usbd *u) {
usb_list = h_strdup_cprintf("$%s$%s=%s\n", usb_list, key, label, name);
usb_icons = h_strdup_cprintf("Icon$%s$%s=%s.png\n", usb_icons, key, label, icon ? icon: "usb");
- const gchar *v_url = vendor_get_url(vendor);
- const gchar *v_name = vendor_get_name(vendor);
- if (v_url != NULL) {
- v_str = g_strdup_printf("%s (%s)", v_name, v_url);
- } else {
- v_str = g_strdup_printf("%s", vendor );
- }
+ v_str = vendor_get_link(vendor);
if (u->if_list != NULL) {
i = u->if_list;
diff --git a/modules/devices/x86/processor.c b/modules/devices/x86/processor.c
index 65a42ed0..768a70fa 100644
--- a/modules/devices/x86/processor.c
+++ b/modules/devices/x86/processor.c
@@ -648,7 +648,7 @@ gchar *processor_get_detailed_info(Processor * processor)
processor->model,
processor->stepping,
processor->strmodel,
- _("Vendor"), vendor_get_name(processor->vendor_id),
+ _("Vendor"), idle_free(vendor_get_link(processor->vendor_id)),
_("Microcode Version"), processor->microcode,
_("Configuration"),
_("Cache Size"), processor->cache_size, _("kb"),
diff --git a/shell/shell.c b/shell/shell.c
index 674280f7..cb26727b 100644
--- a/shell/shell.c
+++ b/shell/shell.c
@@ -1501,6 +1501,7 @@ static void module_selected_show_info_list(GKeyFile *key_file,
gtk_tree_view_set_show_expanders(GTK_TREE_VIEW(shell->info_tree->view),
ngroups > 1);
}
+
static void module_selected_show_info_detail(GKeyFile *key_file,
ShellModuleEntry *entry,
gchar **groups)