summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2022-11-18 12:49:13 -0800
committerThiago Macieira <thiago.macieira@intel.com>2023-02-13 18:11:22 -0800
commit3aa4ac8cfba878dd2273a47f61e245404e2a0e13 (patch)
treed06ea683d44967bb851d95605468436b44fb4547
parent7fb69fe7b3a02fb712c82a482a26a77e5176b464 (diff)
Bluez LE: store the little-endian data in the temporary lists
This will simplify the operation when QUuid::toBytes supports selecting the endianness. Change-Id: Id8e48e8f498c4a029619fffd1728c8e666dbc087 Reviewed-by: Juha Vuolle <juha.vuolle@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
-rw-r--r--src/bluetooth/qleadvertiser_bluez.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/bluetooth/qleadvertiser_bluez.cpp b/src/bluetooth/qleadvertiser_bluez.cpp
index 84520269..4f1dc624 100644
--- a/src/bluetooth/qleadvertiser_bluez.cpp
+++ b/src/bluetooth/qleadvertiser_bluez.cpp
@@ -236,7 +236,7 @@ static void addServicesData(AdvData &data, const QList<T> &services)
data.data[data.length++] = 1 + maxServices * sizeofT;
data.data[data.length++] = servicesType<T>(dataComplete);
for (qsizetype i = 0; i < maxServices; ++i) {
- putBtData(services.at(i), data.data + data.length);
+ memcpy(data.data + data.length, &services.at(i), sizeofT);
data.length += sizeofT;
}
}
@@ -251,20 +251,21 @@ void QLeAdvertiserBluez::setServicesData(const QLowEnergyAdvertisingData &src, A
bool ok;
const quint16 service16 = service.toUInt16(&ok);
if (ok) {
- services16 << service16;
+ services16 << qToLittleEndian(service16);
continue;
}
const quint32 service32 = service.toUInt32(&ok);
if (ok) {
- services32 << service32;
+ services32 << qToLittleEndian(service32);
continue;
}
// QUuid::toBytes() is always Big-Endian; convert it to host order
- QUuid::Id128Bytes hostOrder;
+ QUuid::Id128Bytes hostOrder, btOrder;
QUuid::Id128Bytes qtUuidOrder = service.toBytes();
ntoh128(&qtUuidOrder, &hostOrder);
- services128 << hostOrder;
+ btoh128(&hostOrder, &btOrder);
+ services128 << btOrder;
}
addServicesData(dest, services16);
addServicesData(dest, services32);