Hi all,

The attached patch fixes pointer-sign warnings in the usbprog module.
In the process, I could not help but simplify the code to be a little
more compact/readable (maintaining functional equivalence).

Cheers,

Zach
Index: src/jtag/usbprog.c
===================================================================
--- src/jtag/usbprog.c	(revision 1462)
+++ src/jtag/usbprog.c	(working copy)
@@ -347,18 +347,13 @@
 
 	usbprog_jtag_tms_send(usbprog_jtag_handle);
 
-	if (type == SCAN_OUT)
-	{
-		usbprog_jtag_write_tdi(usbprog_jtag_handle,buffer, scan_size);
+	void (*f)(struct usbprog_jtag *usbprog_jtag, char * buffer, int size);
+	switch (type) {
+	case SCAN_OUT: f = &usbprog_jtag_write_tdi; break;
+	case SCAN_IN: f = &usbprog_jtag_read_tdo; break;
+	case SCAN_IO: f = &usbprog_jtag_write_and_read; break;
 	}
-	if (type == SCAN_IN)
-	{
-		usbprog_jtag_read_tdo(usbprog_jtag_handle,buffer, scan_size);
-	}
-	if (type == SCAN_IO)
-	{
-		usbprog_jtag_write_and_read(usbprog_jtag_handle,buffer, scan_size);
-	}
+	f(usbprog_jtag_handle, (char *)buffer, scan_size);
 
 	if (ir_scan)
 		tap_set_state(TAP_IRPAUSE);
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to