[PATCH 1/4 dfu-util] main: Move filter parsing to after banner has been displayed

Tormod Volden lists.tormod at gmail.com
Thu Sep 15 22:08:00 CEST 2011


From: Tormod Volden <debian.tormod at gmail.com>

Signed-off-by: Tormod Volden <debian.tormod at gmail.com>
---

Hi,

Another series of patches. This first primarly for cosmetics.

Tormod

 src/main.c |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/main.c b/src/main.c
index 4a187b0..64c8d1a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -529,6 +529,7 @@ int main(int argc, char **argv)
 	libusb_context *ctx;
 	struct dfu_file file;
 	char *alt_name = NULL; /* query alt name if non-NULL */
+	char *device_id_filter = NULL;
 	unsigned char active_alt_name[MAX_DESC_STR_LEN+1];
 	char *end;
 	int final_reset = 0;
@@ -560,13 +561,7 @@ int main(int argc, char **argv)
 			mode = MODE_LIST;
 			break;
 		case 'd':
-			/* Parse device ID */
-			parse_vendprod(&dif->vendor, &dif->product, optarg);
-			printf("Filter on vendor = 0x%04x product = 0x%04x\n", dif->vendor, dif->product);
-			if (dif->vendor)
-				dif->flags |= DFU_IFF_VENDOR;
-			if (dif->product)
-				dif->flags |= DFU_IFF_PRODUCT;
+			device_id_filter = optarg;
 			break;
 		case 'p':
 			/* Parse device path */
@@ -631,6 +626,17 @@ int main(int argc, char **argv)
 		exit(2);
 	}
 
+	if (device_id_filter) {
+		/* Parse device ID */
+		parse_vendprod(&dif->vendor, &dif->product, device_id_filter);
+		printf("Filter on vendor = 0x%04x product = 0x%04x\n",
+		       dif->vendor, dif->product);
+		if (dif->vendor)
+			dif->flags |= DFU_IFF_VENDOR;
+		if (dif->product)
+			dif->flags |= DFU_IFF_PRODUCT;
+	}
+
 	ret = libusb_init(&ctx);
 	if (ret) {
 		fprintf(stderr, "unable to initialize libusb: %i\n", ret);
-- 
1.7.5.4




More information about the devel mailing list