On Montag, 11. Juni 2018 20:50:56 CEST Linus Torvalds wrote:
> BLE is kind of odd. We also do things kind of oddly, because the way
> we generate that 16-bit value is with
>
> QByteArray::fromHex("0100")
I think the idiomatic way to do this is the
QByteArrayLiteral("\x01\x00")
macro invocation (don't look at the macro definition - you might weep). Here,
the object is compile-time generated. Nevertheless, its use is not "free" as
claimed in the docs. There's still useless code generated owing to reference
counting. Well, perhaps the compiler could decide that deallocating the static
storage is undefined behavior and simply not generate the deallocation branch.
But "gcc -O2" does.
TL;DR: writeCharacteristic() taking a "const QByteArray &" parameter is an
API-bug. It should take an "array_view" (i.e. const pointer + length) to which
QByteArray automatically converts.
Berthold
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface