From 1b19d7981610c2a9587544da654b4ca783e1bf6b Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Tue, 12 Feb 2019 09:12:00 +0100 Subject: Ensure signed int are written in base 10 notation The code was converting signed ints/chars/shorts to hex notation without prepanding the '0x'. This led to Bluez reading the value as base 10 value and created the problem that values containing letters were improperly parsed. Fixes: QTBUG-73330 Change-Id: I9407a82495761b2e541e13b282ad6ccdb7cdd84a Reviewed-by: Oliver Wolff --- src/bluetooth/qbluetoothserviceinfo_bluez.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/bluetooth/qbluetoothserviceinfo_bluez.cpp b/src/bluetooth/qbluetoothserviceinfo_bluez.cpp index f719779a..d91367c4 100644 --- a/src/bluetooth/qbluetoothserviceinfo_bluez.cpp +++ b/src/bluetooth/qbluetoothserviceinfo_bluez.cpp @@ -85,17 +85,17 @@ static void writeAttribute(QXmlStreamWriter *stream, const QVariant &attribute) case QMetaType::Char: stream->writeEmptyElement(QStringLiteral("int8")); stream->writeAttribute(QStringLiteral("value"), - QString::number(attribute.value(), 16)); + QString::number(attribute.value())); break; case QMetaType::Short: stream->writeEmptyElement(QStringLiteral("int16")); stream->writeAttribute(QStringLiteral("value"), - QString::number(attribute.value(), 16)); + QString::number(attribute.value())); break; case QMetaType::Int: stream->writeEmptyElement(QStringLiteral("int32")); stream->writeAttribute(QStringLiteral("value"), - QString::number(attribute.value(), 16)); + QString::number(attribute.value())); break; case QMetaType::QByteArray: stream->writeEmptyElement(QStringLiteral("text")); -- cgit v1.2.3