diff options
Diffstat (limited to 'media/mtp/MtpDataPacket.cpp')
-rw-r--r-- | media/mtp/MtpDataPacket.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/media/mtp/MtpDataPacket.cpp b/media/mtp/MtpDataPacket.cpp index 9bfd00f..27dc796 100644 --- a/media/mtp/MtpDataPacket.cpp +++ b/media/mtp/MtpDataPacket.cpp @@ -325,9 +325,12 @@ void MtpDataPacket::putString(const uint16_t* string) { else break; } - putUInt8(count); + putUInt8(count > 0 ? count + 1 : 0); for (int i = 0; i < count; i++) putUInt16(string[i]); + // only terminate with zero if string is not empty + if (count > 0) + putUInt16(0); } #ifdef MTP_DEVICE |