From fef9580319bc98675f5623e03b13c56c6db69f8d Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 21 Aug 2020 13:19:40 +1000 Subject: [PATCH] libeis: push the new brei_message one level up into eisproto This is the proto parser and it'll know when we need an fd on the message, so let's make sure we have everything in place to fetch the fd. Signed-off-by: Peter Hutterer --- src/libeis-client.c | 3 +-- src/libeis-proto.c | 8 ++++---- src/libeis-proto.h | 3 ++- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libeis-client.c b/src/libeis-client.c index a6650be..23276df 100644 --- a/src/libeis-client.c +++ b/src/libeis-client.c @@ -391,8 +391,7 @@ client_message_callback(struct brei_message *bmsg, void *userdata) struct eis_client *client = userdata; size_t consumed; - _cleanup_message_ struct message *msg = - eis_proto_parse_message(bmsg->data, bmsg->len, &consumed); + _cleanup_message_ struct message *msg = eis_proto_parse_message(bmsg, &consumed); if (!msg) return -EBADMSG; diff --git a/src/libeis-proto.c b/src/libeis-proto.c index 30b882a..0dcc70c 100644 --- a/src/libeis-proto.c +++ b/src/libeis-proto.c @@ -174,16 +174,16 @@ eis_proto_send_device_resumed(struct eis_client *client, struct eis_device *devi } struct message * -eis_proto_parse_message(const char *msgdata, size_t msglen, size_t *consumed) +eis_proto_parse_message(struct brei_message *bmsg, size_t *consumed) { _cleanup_(message_freep) struct message *msg = xalloc(sizeof(*msg)); - ClientMessage *proto = client_message__unpack(NULL, msglen, - (const unsigned char*)msgdata); + ClientMessage *proto = client_message__unpack(NULL, bmsg->len, + (const unsigned char*)bmsg->data); if (!proto) { return NULL; } - *consumed = msglen; + *consumed = bmsg->len; bool success = true; switch (proto->msg_case) { diff --git a/src/libeis-proto.h b/src/libeis-proto.h index e7f7580..17c91df 100644 --- a/src/libeis-proto.h +++ b/src/libeis-proto.h @@ -28,6 +28,7 @@ #include "util-macros.h" #include "util-mem.h" +#include "brei-shared.h" #include "libeis-private.h" /* The message type for the wire format */ @@ -116,4 +117,4 @@ eis_proto_send_device_resumed(struct eis_client *client, struct eis_device *device); struct message * -eis_proto_parse_message(const char *data, size_t len, size_t *consumed); +eis_proto_parse_message(struct brei_message *msg, size_t *consumed);