From d45529c987e89b2277608e3024a096d74bdbef6a Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Fri, 14 Mar 2014 09:35:06 +0200 Subject: [PATCH] emulator/btdev: Add helper for selecting advertising address --- emulator/btdev.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/emulator/btdev.c b/emulator/btdev.c index a2a041290..7b33db7bd 100644 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -1373,6 +1373,14 @@ static void ssp_complete(struct btdev *btdev, const uint8_t *bdaddr, send_event(init, BT_HCI_EVT_AUTH_COMPLETE, &auth, sizeof(auth)); } +static const uint8_t *adv_addr(const struct btdev *btdev) +{ + if (btdev->le_adv_own_addr == 0x01) + return btdev->random_addr; + + return btdev->bdaddr; +} + static void le_send_adv_report(struct btdev *btdev, const struct btdev *remote, uint8_t type) { @@ -1390,10 +1398,7 @@ static void le_send_adv_report(struct btdev *btdev, const struct btdev *remote, meta_event.lar.num_reports = 1; meta_event.lar.event_type = type; meta_event.lar.addr_type = remote->le_adv_own_addr; - if (remote->le_adv_own_addr == 0x00) - memcpy(meta_event.lar.addr, remote->bdaddr, 6); - else - memcpy(meta_event.lar.addr, remote->random_addr, 6); + memcpy(meta_event.lar.addr, adv_addr(remote), 6); /* Scan or advertising response */ if (type == 0x04) { -- 2.11.0