summaryrefslogtreecommitdiff
path: root/patches/busybox/0010-lsusb-show-goddamn-descriptors.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/busybox/0010-lsusb-show-goddamn-descriptors.patch')
-rw-r--r--patches/busybox/0010-lsusb-show-goddamn-descriptors.patch34
1 files changed, 15 insertions, 19 deletions
diff --git a/patches/busybox/0010-lsusb-show-goddamn-descriptors.patch b/patches/busybox/0010-lsusb-show-goddamn-descriptors.patch
index e937991..9ecbf16 100644
--- a/patches/busybox/0010-lsusb-show-goddamn-descriptors.patch
+++ b/patches/busybox/0010-lsusb-show-goddamn-descriptors.patch
@@ -16,30 +16,30 @@ Index: busybox-1.36.1/util-linux/lsusb.c
parser = config_open2(uevent_filename, fopen_for_read);
free(uevent_filename);
-@@ -58,10 +62,39 @@ static int FAST_FUNC fileAction(struct r
+@@ -58,10 +62,34 @@ static int FAST_FUNC fileAction(struct r
continue;
}
}
+
+ {
-+ struct stat manu_stat;
-+ int manu_ret = stat(manu_filename, &manu_stat);
-+ if (manu_ret == 0 && manu_stat.st_size != 0)
-+ {
-+ FILE* manu_file = fopen(manu_filename, "r");
-+ fread(manu_buf, 1, MIN(manu_stat.st_size, sizeof(manu_buf)), manu_file);
++ FILE *manu_file = fopen(manu_filename, "r");
++ if (manu_file != NULL) {
++ // leave one for terminator
++ size_t read = fread(manu_buf, 1, sizeof(manu_buf) - 1, manu_file);
+ fclose(manu_file);
++ // remove newline
++ read && (manu_buf[read - 1] = '\0');
+ manu_buf[sizeof(manu_buf) - 1] = '\0';
+ }
+ }
+ {
-+ struct stat product_stat;
-+ int product_ret = stat(product_filename, &product_stat);
-+ if (product_ret == 0 && product_stat.st_size != 0)
-+ {
-+ FILE* product_file = fopen(product_filename, "r");
-+ fread(product_buf, 1, MIN(product_stat.st_size, sizeof(product_buf)), product_file);
++ FILE *product_file = fopen(product_filename, "r");
++ if (product_file != NULL) {
++ // leave one for terminator
++ size_t read = fread(product_buf, 1, sizeof(product_buf) - 1, product_file);
+ fclose(product_file);
++ // remove newline
++ read && (product_buf[read - 1] = '\0');
+ product_buf[sizeof(product_buf) - 1] = '\0';
+ }
+ }
@@ -47,12 +47,8 @@ Index: busybox-1.36.1/util-linux/lsusb.c
config_close(parser);
if (busnum) {
- printf("Bus %s Device %s: ID %04x:%04x\n", busnum, devnum, product_vid, product_did);
-+ // These already include the newline?
-+ if (*manu_buf)
-+ printf("\tManufacturer: %s", manu_buf);
-+ if (*product_buf)
-+ printf("\tProduct: %s", product_buf);
+- printf("Bus %s Device %s: ID %04x:%04x\n", busnum, devnum, product_vid, product_did);
++ printf("Bus %s Device %s: ID %04x:%04x %s %s\n", busnum, devnum, product_vid, product_did, manu_buf, product_buf);
free(busnum);
free(devnum);
}