diff options
author | Simon Quigley <tsimonq2@ubuntu.com> | 2017-08-16 04:32:39 -0500 |
---|---|---|
committer | Simon Quigley <tsimonq2@ubuntu.com> | 2017-08-16 04:32:39 -0500 |
commit | 9a9db98089717990cd5e0eef529f6bb0819ebe46 (patch) | |
tree | a9afaabce984d5fe552fa8bf1a9405db9bdd2699 /modules/devices/usb.c | |
parent | 69a2124e9a081518297951256eb5c8d72d93361f (diff) |
New upstream version 0.5.1+git20170815
Diffstat (limited to 'modules/devices/usb.c')
-rw-r--r-- | modules/devices/usb.c | 244 |
1 files changed, 149 insertions, 95 deletions
diff --git a/modules/devices/usb.c b/modules/devices/usb.c index 3a93a3b6..e5088bd2 100644 --- a/modules/devices/usb.c +++ b/modules/devices/usb.c @@ -41,51 +41,59 @@ void __scan_usb_sysfs_add_device(gchar * endpoint, int n) version = h_sysfs_read_float(endpoint, "version"); if (!(mxpwr = h_sysfs_read_string(endpoint, "bMaxPower"))) { - mxpwr = g_strdup("0 mA"); + mxpwr = g_strdup_printf("%d %s", 0 , _("mA") ); } if (!(manufacturer = h_sysfs_read_string(endpoint, "manufacturer"))) { - manufacturer = g_strdup("Unknown"); + manufacturer = g_strdup(_("(Unknown)")); } if (!(product = h_sysfs_read_string(endpoint, "product"))) { - if (classid == 9) { - product = g_strdup_printf("USB %.2f Hub", version); - } else { - product = g_strdup_printf("Unknown USB %.2f Device (class %d)", version, classid); - } + if (classid == 9) { + product = g_strdup_printf(_(/*/%.2f is version*/ "USB %.2f Hub"), version); + } else { + product = g_strdup_printf(_("Unknown USB %.2f Device (class %d)"), version, classid); + } } - const gchar *url = vendor_get_url(manufacturer); - if (url) { - tmp = g_strdup_printf("%s (%s)", vendor_get_name(manufacturer), url); - - g_free(manufacturer); - manufacturer = tmp; + const gchar *v_url = vendor_get_url(manufacturer); + const gchar *v_name = vendor_get_name(manufacturer); + gchar *v_str; + if (v_url != NULL) { + v_str = g_strdup_printf("%s (%s)", v_name, v_url); + } else { + v_str = g_strdup_printf("%s", manufacturer); } tmp = g_strdup_printf("USB%d", n); usb_list = h_strdup_cprintf("$%s$%s=\n", usb_list, tmp, product); - strhash = g_strdup_printf("[Device Information]\n" - "Product=%s\n" - "Manufacturer=%s\n" - "Speed=%.2fMbit/s\n" - "Max Current=%s\n" - "[Misc]\n" - "USB Version=%.2f\n" - "Class=0x%x\n" - "Vendor=0x%x\n" - "Product ID=0x%x\n" - "Bus=%d\n", - product, - manufacturer, - speed, - mxpwr, - version, classid, vendor, prodid, bus); + strhash = g_strdup_printf("[%s]\n" + /* Product */ "%s=%s\n" + /* Manufacturer */ "%s=%s\n" + /* Speed */ "%s=%.2f %s\n" + /* Max Current */ "%s=%s\n" + "[%s]\n" + /* USB Version */ "%s=%.2f\n" + /* Class */ "%s=0x%x\n" + /* Vendor */ "%s=0x%x\n" + /* Product ID */ "%s=0x%x\n" + /* Bus */ "%s=%d\n", + _("Device Information"), + _("Product"), product, + _("Manufacturer"), v_str, + _("Speed"), speed, _("Mbit/s"), + _("Max Current"), mxpwr, + _("Misc"), + _("USB Version"), version, + _("Class"), classid, + _("Vendor ID"), vendor, + _("Product ID"), prodid, + _("Bus"), bus); moreinfo_add_with_prefix("DEV", tmp, strhash); g_free(tmp); + g_free(v_str); g_free(manufacturer); g_free(product); g_free(mxpwr); @@ -106,7 +114,7 @@ gboolean __scan_usb_sysfs(void) moreinfo_del_with_prefix("DEV:USB"); g_free(usb_list); } - usb_list = g_strdup("[USB Devices]\n"); + usb_list = g_strdup_printf("[%s]\n", _("USB Devices")); while ((filename = (gchar *) g_dir_read_name(sysfs))) { gchar *endpoint = @@ -145,7 +153,7 @@ gboolean __scan_usb_procfs(void) moreinfo_del_with_prefix("DEV:USB"); g_free(usb_list); } - usb_list = g_strdup("[USB Devices]\n"); + usb_list = g_strdup_printf("[%s]\n", _("USB Devices")); while (fgets(buffer, 128, dev)) { tmp = buffer; @@ -179,50 +187,68 @@ gboolean __scan_usb_procfs(void) if (product && *product == '\0') { g_free(product); if (classid == 9) { - product = g_strdup_printf("USB %.2f Hub", ver); + product = g_strdup_printf(_("USB %.2f Hub"), ver); } else { - product = g_strdup_printf("Unknown USB %.2f Device (class %d)", ver, classid); + product = g_strdup_printf(_("Unknown USB %.2f Device (class %d)"), ver, classid); } } - if (classid == 9) { /* hub */ - usb_list = h_strdup_cprintf("[%s#%d]\n", usb_list, product, n); - } else { /* everything else */ - usb_list = h_strdup_cprintf("$%s$%s=\n", usb_list, tmp, product); - - const gchar *url = vendor_get_url(manuf); - if (url) { - gchar *tmp = g_strdup_printf("%s (%s)", vendor_get_name(manuf), - url); - g_free(manuf); - manuf = tmp; - } - - gchar *strhash = g_strdup_printf("[Device Information]\n" "Product=%s\n", - product); - if (manuf && strlen(manuf)) - strhash = h_strdup_cprintf("Manufacturer=%s\n", strhash, manuf); - - strhash = h_strdup_cprintf("[Port #%d]\n" - "Speed=%.2fMbit/s\n" - "Max Current=%s\n" - "[Misc]\n" - "USB Version=%.2f\n" - "Revision=%.2f\n" - "Class=0x%x\n" - "Vendor=0x%x\n" - "Product ID=0x%x\n" - "Bus=%d\n" "Level=%d\n", - strhash, port, speed, mxpwr, ver, rev, classid, vendor, prodid, bus, level); - - moreinfo_add_with_prefix("DEV", tmp, strhash); - g_free(tmp); - } + if (classid == 9) { /* hub */ + usb_list = h_strdup_cprintf("[%s#%d]\n", usb_list, product, n); + } else { /* everything else */ + usb_list = h_strdup_cprintf("$%s$%s=\n", usb_list, tmp, product); + + EMPIFNULL(manuf); + const gchar *v_url = vendor_get_url(manuf); + const gchar *v_name = vendor_get_name(manuf); + gchar *v_str = NULL; + if (strlen(manuf)) { + if (v_url != NULL) + v_str = g_strdup_printf("%s (%s)", v_name, v_url); + else + v_str = g_strdup_printf("%s", manuf); + } + UNKIFNULL(v_str); + UNKIFNULL(product); + + gchar *strhash = g_strdup_printf("[%s]\n" "%s=%s\n" "%s=%s\n", + _("Device Information"), + _("Product"), product, + _("Manufacturer"), v_str); + + strhash = h_strdup_cprintf("[%s #%d]\n" + /* Speed */ "%s=%.2f %s\n" + /* Max Current */ "%s=%s\n" + "[%s]\n" + /* USB Version */ "%s=%.2f\n" + /* Revision */ "%s=%.2f\n" + /* Class */ "%s=0x%x\n" + /* Vendor */ "%s=0x%x\n" + /* Product ID */ "%s=0x%x\n" + /* Bus */ "%s=%d\n" + /* Level */ "%s=%d\n", + strhash, + _("Port"), port, + _("Speed"), speed, _("Mbit/s"), + _("Max Current"), mxpwr, + _("Misc"), + _("USB Version"), ver, + _("Revision"), rev, + _("Class"), classid, + _("Vendor ID"), vendor, + _("Product ID"), prodid, + _("Bus"), bus, + _("Level"), level); + + moreinfo_add_with_prefix("DEV", tmp, strhash); + g_free(v_str); + g_free(tmp); + } g_free(manuf); g_free(product); - manuf = g_strdup(""); - product = g_strdup(""); + manuf = NULL; + product = NULL; port = classid = 0; } } @@ -274,35 +300,63 @@ void __scan_usb_lsusb_add_device(char *buffer, int bufsize, FILE * lsusb, int us } if (dev_class && strstr(dev_class, "0 (Defined at Interface level)")) { - g_free(dev_class); - if (int_class) { - dev_class = int_class; - } else { - dev_class = g_strdup("Unknown"); - } + g_free(dev_class); + if (int_class) { + dev_class = int_class; + } else { + dev_class = g_strdup(_("(Unknown)")); + } } else - dev_class = g_strdup("Unknown"); + dev_class = g_strdup(_("(Unknown)")); tmp = g_strdup_printf("USB%d", usb_device_number); usb_list = h_strdup_cprintf("$%s$%s=\n", usb_list, tmp, name); - strhash = g_strdup_printf("[Device Information]\n" - "Product=%s\n" - "Manufacturer=%s\n" - "Max Current=%s\n" - "[Misc]\n" - "USB Version=%s\n" - "Class=%s\n" - "Vendor=0x%x\n" - "Product ID=0x%x\n" - "Bus=%d\n", - product ? g_strstrip(product) : "Unknown", - vendor ? g_strstrip(vendor) : "Unknown", - max_power ? g_strstrip(max_power) : "Unknown", - version ? g_strstrip(version) : "Unknown", - dev_class ? g_strstrip(dev_class) : "Unknown", vendor_id, product_id, bus); + const gchar *v_url = vendor_get_url(vendor); + const gchar *v_name = vendor_get_name(vendor); + gchar *v_str; + if (v_url != NULL) { + v_str = g_strdup_printf("%s (%s)", v_name, v_url); + } else { + v_str = g_strdup_printf("%s", g_strstrip(vendor) ); + } + + if (max_power != NULL) { + int mA = atoi(g_strstrip(max_power)); + gchar *trent_steel = g_strdup_printf("%d %s", mA, _("mA")); + g_free(max_power); + max_power = trent_steel; + } + + UNKIFNULL(product); + UNKIFNULL(v_str); + UNKIFNULL(max_power); + UNKIFNULL(version); + UNKIFNULL(dev_class); + + strhash = g_strdup_printf("[%s]\n" + /* Product */ "%s=%s\n" + /* Manufacturer */ "%s=%s\n" + /* Max Current */ "%s=%s\n" + "[%s]\n" + /* USB Version */ "%s=%s\n" + /* Class */ "%s=%s\n" + /* Vendor ID */ "%s=0x%x\n" + /* Product ID */ "%s=0x%x\n" + /* Bus */ "%s=%d\n", + _("Device Information"), + _("Product"), g_strstrip(product), + _("Vendor"), v_str, + _("Max Current"), g_strstrip(max_power), + _("Misc"), + _("USB Version"), g_strstrip(version), + _("Class"), g_strstrip(dev_class), + _("Vendor ID"), vendor_id, + _("Product ID"), product_id, + _("Bus"), bus); moreinfo_add_with_prefix("DEV", tmp, strhash); + g_free(v_str); g_free(vendor); g_free(product); g_free(max_power); @@ -356,25 +410,25 @@ gboolean __scan_usb_lsusb(void) if (usb_list) { moreinfo_del_with_prefix("DEV:USB"); - g_free(usb_list); + g_free(usb_list); } - usb_list = g_strdup("[USB Devices]\n"); + usb_list = g_strdup_printf("[%s]\n", _("USB Devices")); while (fgets(buffer, sizeof(buffer), temp_lsusb)) { if (g_str_has_prefix(buffer, "Bus ")) { __scan_usb_lsusb_add_device(buffer, sizeof(buffer), temp_lsusb, ++usb_device_number); } } - + fclose(temp_lsusb); - + return usb_device_number > 0; } void __scan_usb(void) { if (!__scan_usb_procfs()) { - if (!__scan_usb_sysfs()) { + if (!__scan_usb_sysfs()) { __scan_usb_lsusb(); } } |