From: Dan Dedrick Date: Tue, 7 Jan 2020 16:18:30 +0000 (-0500) Subject: libftdi: pass eeprom strings as const X-Git-Tag: v1.5rc1~15 X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=commitdiff_plain;h=ae3d154b7641b120f537c6d86871371c9d75c9e9 libftdi: pass eeprom strings as const These strings are not modified and it doesn't make sense that they ever would be. Setting these as const ensures that they will not be modified and allows const strings to be passed in without special manipulation. Specifically a call like the following failed to compile: ftdi_eeprom_set_strings(&ftdi, "foo", "bar", "abc123"); The error will look something like this: error: ISO C++ forbids converting a string constant to ‘char*’ [-Werror=write-strings] --- diff --git a/src/ftdi.c b/src/ftdi.c index 988a9f1..9495fb5 100644 --- a/src/ftdi.c +++ b/src/ftdi.c @@ -2724,8 +2724,8 @@ int ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, char * manufacturer, return 0; } -int ftdi_eeprom_set_strings(struct ftdi_context *ftdi, char * manufacturer, - char * product, char * serial) +int ftdi_eeprom_set_strings(struct ftdi_context *ftdi, const char * manufacturer, + const char * product, const char * serial) { struct ftdi_eeprom *eeprom; diff --git a/src/ftdi.h b/src/ftdi.h index 8fcf719..7addeb9 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -544,8 +544,8 @@ extern "C" char *manufacturer, int mnf_len, char *product, int prod_len, char *serial, int serial_len); - int ftdi_eeprom_set_strings(struct ftdi_context *ftdi, char * manufacturer, - char * product, char * serial); + int ftdi_eeprom_set_strings(struct ftdi_context *ftdi, const char * manufacturer, + const char * product, const char * serial); int ftdi_usb_open(struct ftdi_context *ftdi, int vendor, int product); int ftdi_usb_open_desc(struct ftdi_context *ftdi, int vendor, int product,