From ed50976a0735fc527af1656c020b5bb180e7280a Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 19 Jun 2025 01:16:22 +0200 Subject: [PATCH] fixes --- esphome/components/esp32_ble/ble_event.h | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/esphome/components/esp32_ble/ble_event.h b/esphome/components/esp32_ble/ble_event.h index 14b2bbb750..f9c00f932e 100644 --- a/esphome/components/esp32_ble/ble_event.h +++ b/esphome/components/esp32_ble/ble_event.h @@ -232,13 +232,7 @@ class BLEEvent { const BLEScanResult &scan_result() const { return event_.gap.scan_result; } esp_bt_status_t scan_complete_status() const { return event_.gap.scan_complete.status; } esp_bt_status_t adv_complete_status() const { return event_.gap.adv_complete.status; } - const struct { - esp_bt_status_t status; - int8_t rssi; - esp_bd_addr_t remote_addr; - } & read_rssi_complete() const { - return event_.gap.read_rssi_complete; - } + auto &read_rssi_complete() const -> decltype(event_.gap.read_rssi_complete) { return event_.gap.read_rssi_complete; } const esp_ble_sec_t &security() const { return event_.gap.security; } private: @@ -395,10 +389,8 @@ class BLEEvent { }; // Verify the gap_event struct hasn't grown beyond expected size -// Note: gap_event is a nested struct type, not directly accessible as BLEEvent::gap_event -// We check the size through the union member instead -static_assert(offsetof(BLEEvent, event_.gap) + sizeof(((BLEEvent *) 0)->event_.gap) <= 80, - "gap_event struct has grown beyond 80 bytes"); +// The gap member in the union should be 80 bytes (including the gap_event enum) +static_assert(sizeof(decltype(((BLEEvent *) nullptr)->event_.gap)) <= 80, "gap_event struct has grown beyond 80 bytes"); // Verify esp_ble_sec_t fits within our union static_assert(sizeof(esp_ble_sec_t) <= 73, "esp_ble_sec_t is larger than BLEScanResult");