diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/devices.c | 21 | 
1 files changed, 19 insertions, 2 deletions
| diff --git a/modules/devices.c b/modules/devices.c index 35ded54c..90a7b89b 100644 --- a/modules/devices.c +++ b/modules/devices.c @@ -358,6 +358,7 @@ gchar *get_motherboard(void)      gchar *board_name, *board_vendor, *board_version;      gchar *product_name, *product_vendor, *product_version;      gchar *board_part = NULL, *product_part = NULL; +    const gchar *tmp;      int b = 0, p = 0;      gchar *ret; @@ -366,12 +367,28 @@ gchar *get_motherboard(void)      scan_dmi(FALSE);      board_name = dmi_get_str("baseboard-product-name"); -    board_vendor = dmi_get_str("baseboard-manufacturer");      board_version = dmi_get_str("baseboard-version"); +    board_vendor = dmi_get_str("baseboard-manufacturer"); +    if (board_vendor) { +        /* attempt to shorten */ +        tmp = vendor_get_shortest_name(board_vendor); +        if (tmp) { +            g_free(board_vendor); +            board_vendor = g_strdup(tmp); +        } +    }      product_name = dmi_get_str("system-product-name"); -    product_vendor = dmi_get_str("system-manufacturer");      product_version = dmi_get_str("system-version"); +    product_vendor = dmi_get_str("system-manufacturer"); +    if (product_vendor) { +        /* attempt to shorten */ +        tmp = vendor_get_shortest_name(product_vendor); +        if (tmp) { +            g_free(product_vendor); +            product_vendor = g_strdup(tmp); +        } +    }      if (board_vendor && product_vendor &&          strcmp(board_vendor, product_vendor) == 0) { | 
