From 0ad42047da7b8a11a07e73a75f9f415362eec867 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Fri, 12 Jul 2019 08:27:53 -0700 Subject: Add functions to get a formatted link for a vendor --- hardinfo/vendor.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'hardinfo/vendor.c') diff --git a/hardinfo/vendor.c b/hardinfo/vendor.c index 0e661bb9..9cc3a8e4 100644 --- a/hardinfo/vendor.c +++ b/hardinfo/vendor.c @@ -371,3 +371,40 @@ const gchar *vendor_get_url(const gchar * id_str) { return NULL; } + +gchar *vendor_get_link(const gchar *id_str) +{ + const Vendor *v = vendor_match(id_str, NULL); + + if (!v) { + return g_strdup(id_str); + } + + return vendor_get_link_from_vendor(v); +} + +gchar *vendor_get_link_from_vendor(const Vendor *v) +{ + if (!v) { + return g_strdup(_("Unknown")); + } + + if (!v->url) { + return g_strdup(v->name); + } + + if (params.markup_ok) { + const gchar *prefix; + + if (!strncmp(v->url, "http://", sizeof("http://") - 1) || + !strncmp(v->url, "https://", sizeof("https://") - 1)) { + prefix = ""; + } else { + prefix = "http://"; + } + + return g_strdup_printf("%s", prefix, v->url, v->name); + } + + return g_strdup_printf("%s (%s)", v->name, v->url); +} -- cgit v1.2.3