Fix USB_STRING_DESCRIPTOR_ARRAY() not accepting more than two byte long arrays.
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 22 Apr 2018 05:59:23 +0000 (15:59 +1000)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 22 Apr 2018 05:59:23 +0000 (15:59 +1000)
LUFA/DoxygenPages/ChangeLog.txt
LUFA/Drivers/USB/Core/StdDescriptors.h

index 719ae22..bfeb0f1 100644 (file)
@@ -18,6 +18,7 @@
   *     character after a successful write (thanks to NicoHood)
   *   - Fixed incorrect endpoint bank setup on the UC3 architecture (thanks to Andrus Aaslaid)
   *   - Fixed CDC_Device_Send*_P() and CDC_Host_Send*_P() variant functions not compiled out for UC3 architecture
+  *   - Fixed USB_STRING_DESCRIPTOR_ARRAY() not accepting more than two byte long arrays
   *  - Library Applications:
   *   - Fixed bootloaders not disabling global interrupts during erase and write operations (thanks to Zoltan)
   *   - Fixed bootloaders accepting flash writes to the bootloader region (thanks to NicoHood)
index 20cc44f..d8e8d3a 100644 (file)
@@ -97,7 +97,7 @@
                         *
                         *  \param[in] ...  Characters to initialize a USB String Descriptor structure with.
                         */
-                       #define USB_STRING_DESCRIPTOR_ARRAY(...)  { .Header = {.Size = sizeof(USB_Descriptor_Header_t) + sizeof((uint16_t){__VA_ARGS__}), .Type = DTYPE_String}, .UnicodeString = {__VA_ARGS__} }
+                       #define USB_STRING_DESCRIPTOR_ARRAY(...)  { .Header = {.Size = sizeof(USB_Descriptor_Header_t) + sizeof((uint16_t[]){__VA_ARGS__}), .Type = DTYPE_String}, .UnicodeString = {__VA_ARGS__} }
 
                        /** Macro to encode a given major/minor/revision version number into Binary Coded Decimal format for descriptor
                         *  fields requiring BCD encoding, such as the USB version number in the standard device descriptor.