summaryrefslogtreecommitdiff
path: root/drivers/mbimmodem
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2018-10-31 21:03:49 +0100
committerMarcel Holtmann <marcel@holtmann.org>2018-10-31 21:03:49 +0100
commit2a5c9cf0f25e070da5383f1c222052e2e198d236 (patch)
tree7deb82b44978bd8d11d237fbfa4b9abd841b12a1 /drivers/mbimmodem
parent2df69194ac4c1e4d96d5ae770c134ce497a1f5c9 (diff)
downloadofono-2a5c9cf0f25e070da5383f1c222052e2e198d236.tar.gz
mbimmodem: Convert back to using __builtin_bswap16 with proper indexing
Diffstat (limited to 'drivers/mbimmodem')
-rw-r--r--drivers/mbimmodem/mbim-message.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mbimmodem/mbim-message.c b/drivers/mbimmodem/mbim-message.c
index c725e492..7899bc65 100644
--- a/drivers/mbimmodem/mbim-message.c
+++ b/drivers/mbimmodem/mbim-message.c
@@ -196,8 +196,10 @@ static bool _iter_copy_string(struct mbim_message_iter *iter,
/* Strings are in UTF16-LE, so convert to UTF16-CPU first if needed */
if (L_CPU_TO_LE16(0x8000) != 0x8000) {
- for (i = 0; i < len; i+= 2)
- l_put_u16(l_get_le16(buf + i), buf + i);
+ uint16_t *le = (uint16_t *) buf;
+
+ for (i = 0; i < len / 2; i++)
+ le[i] = __builtin_bswap16(le[i]);
}
*out = l_utf8_from_utf16(buf, len);