From 56419b9cc000214b5dcb6cd22b9796c9aab41dc6 Mon Sep 17 00:00:00 2001 From: Anderson Lizardo Date: Tue, 28 Jan 2014 11:51:36 -0400 Subject: [PATCH] attrib-server: Remove unnecessary fields from struct gatt_channel These fields are only used internally by attrib_channel_attach(). The "No GATT server found..." error message was also removed as it is also displayed by find_gatt_server(). --- src/attrib-server.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/src/attrib-server.c b/src/attrib-server.c index 38938272f..200a8a761 100644 --- a/src/attrib-server.c +++ b/src/attrib-server.c @@ -71,8 +71,6 @@ struct gatt_server { }; struct gatt_channel { - bdaddr_t src; - bdaddr_t dst; GAttrib *attrib; guint mtu; gboolean le; @@ -1113,6 +1111,7 @@ guint attrib_channel_attach(GAttrib *attrib) struct gatt_server *server; struct btd_device *device; struct gatt_channel *channel; + bdaddr_t src, dst; GIOChannel *io; GError *gerr = NULL; uint8_t bdaddr_type; @@ -1121,11 +1120,9 @@ guint attrib_channel_attach(GAttrib *attrib) io = g_attrib_get_channel(attrib); - channel = g_new0(struct gatt_channel, 1); - bt_io_get(io, &gerr, - BT_IO_OPT_SOURCE_BDADDR, &channel->src, - BT_IO_OPT_DEST_BDADDR, &channel->dst, + BT_IO_OPT_SOURCE_BDADDR, &src, + BT_IO_OPT_DEST_BDADDR, &dst, BT_IO_OPT_DEST_TYPE, &bdaddr_type, BT_IO_OPT_CID, &cid, BT_IO_OPT_IMTU, &mtu, @@ -1133,23 +1130,17 @@ guint attrib_channel_attach(GAttrib *attrib) if (gerr) { error("bt_io_get: %s", gerr->message); g_error_free(gerr); - g_free(channel); return 0; } - server = find_gatt_server(&channel->src); - if (server == NULL) { - char src[18]; - - ba2str(&channel->src, src); - error("No GATT server found in %s", src); - g_free(channel); + server = find_gatt_server(&src); + if (server == NULL) return 0; - } + channel = g_new0(struct gatt_channel, 1); channel->server = server; - device = btd_adapter_find_device(server->adapter, &channel->dst); + device = btd_adapter_find_device(server->adapter, &dst); if (device == NULL) { error("Device object not found for attrib server"); g_free(channel); -- 2.47.3