diff options
author | Arnaud Ferraris <aferraris@debian.org> | 2023-10-21 11:43:09 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2023-11-20 16:04:26 +0000 |
commit | 76063ef32c4231b68196dec43b21d091c778e87f (patch) | |
tree | 3cd1297aff1779878f2d95a712048ac38541cb11 | |
parent | dcd8f666b42eadf1e3f8d1508c1ecc44131fdbd3 (diff) |
libqmi-glib,message: fix 16-bit service on big endian architecturesqmi-1-34
The latest release introduces handling of 16-bit service indications.
However, only the raw message data is returned from
`qmi_message_get_service()`, leading to incorrect values on big-endian
architectures. As a consequence, `libqmi` ultimately fails to build as
the corresponding test errors out in this case.
This patch ensures the service indication is correct on all kinds of
architectures.
(cherry picked from commit 6662764338d3127924cfefaa9cf1b0cc4f90a189)
-rw-r--r-- | src/libqmi-glib/qmi-message.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libqmi-glib/qmi-message.c b/src/libqmi-glib/qmi-message.c index 3e31b4b..1918a45 100644 --- a/src/libqmi-glib/qmi-message.c +++ b/src/libqmi-glib/qmi-message.c @@ -226,7 +226,7 @@ qmi_message_get_service (QmiMessage *self) if (MESSAGE_IS_QMUX (self)) return (QmiService)((struct full_message *)(self->data))->header.qmux.service; - return (QmiService)((struct full_message *)(self->data))->header.qrtr.service; + return (QmiService)GUINT16_FROM_LE (((struct full_message *)(self->data))->header.qrtr.service); } guint8 |