> +/*
> + * ObjectInfo dataset received from initiator
> + * Fields we don't care about are ignored
> + */
> +typedef struct {
> + char __pad1[4];
So, is this really padding or a field we don't care about?
If the latter I'd suggest to give them proper names nevertheless,
maybe append /* unused */.
> +static void utf16_to_str(uint8_t len, uint16_t *arr, char *name)
> +{
> + int count;
> +
> + for (count = 0; count < len; count++) {
> + /* Check for valid ascii */
> + assert(!(arr[count] & 0xFF80));
> + name[count] = arr[count];
> + }
> +}
This should do the reverse of usb_mtp_add_str, i.e. first copy uint16_t
array to wchar_t array, then use wcstombs to translate it into a
(multi-)byte string of the current locale.
cheers,
Gerd