libftdi_write_data: argument #2 should be const
authorUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Tue, 3 Sep 2013 09:03:50 +0000 (11:03 +0200)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Wed, 4 Sep 2013 13:02:33 +0000 (15:02 +0200)
Joerg Wunsch <j@uriah.heep.sax.de> noted that in libftdi_write_data() the
buffer that is sent is only accessed reeading and so should be const. Please
consider appended patch ( if I got "const unsigned char *" versus "unsigned
char const *" right).

src/ftdi.c
src/ftdi.h

index c19810b..8124985 100644 (file)
@@ -1369,7 +1369,7 @@ int ftdi_set_line_property2(struct ftdi_context *ftdi, enum ftdi_bits_type bits,
     \retval <0: error code from usb_bulk_write()
     \retval >0: number of bytes written
 */
-int ftdi_write_data(struct ftdi_context *ftdi, unsigned char *buf, int size)
+int ftdi_write_data(struct ftdi_context *ftdi, const unsigned char *buf, int size)
 {
     int offset = 0;
     int actual_length;
@@ -1384,7 +1384,7 @@ int ftdi_write_data(struct ftdi_context *ftdi, unsigned char *buf, int size)
         if (offset+write_size > size)
             write_size = size-offset;
 
-        if (libusb_bulk_transfer(ftdi->usb_dev, ftdi->in_ep, buf+offset, write_size, &actual_length, ftdi->usb_write_timeout) < 0)
+        if (libusb_bulk_transfer(ftdi->usb_dev, ftdi->in_ep, (unsigned char *)buf+offset, write_size, &actual_length, ftdi->usb_write_timeout) < 0)
             ftdi_error_return(-1, "usb bulk write failed");
 
         offset += actual_length;
index 3d97dd9..a0ad8b4 100644 (file)
@@ -502,7 +502,7 @@ extern "C"
     int ftdi_read_data_set_chunksize(struct ftdi_context *ftdi, unsigned int chunksize);
     int ftdi_read_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize);
 
-    int ftdi_write_data(struct ftdi_context *ftdi, unsigned char *buf, int size);
+    int ftdi_write_data(struct ftdi_context *ftdi, const unsigned char *buf, int size);
     int ftdi_write_data_set_chunksize(struct ftdi_context *ftdi, unsigned int chunksize);
     int ftdi_write_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize);