From 93b133f6b503940193dccdfc68061619b311bd6d Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Fri, 27 Nov 2015 10:12:15 +0100 Subject: [PATCH] hfp: include name in AG indicator update --- src/hfp_hf.c | 6 ++++-- test/pts/hfp_hf_test.c | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/hfp_hf.c b/src/hfp_hf.c index c637e0026..f3ad3ca47 100644 --- a/src/hfp_hf.c +++ b/src/hfp_hf.c @@ -238,13 +238,15 @@ static int hfp_hf_cmd_ata(uint16_t cid){ static void hfp_emit_ag_indicator_event(hfp_callback_t callback, int status, hfp_ag_indicator_t indicator){ if (!callback) return; - uint8_t event[6]; + uint8_t event[6+HFP_MAX_INDICATOR_DESC_SIZE+1]; event[0] = HCI_EVENT_HFP_META; event[1] = sizeof(event) - 2; event[2] = HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED; event[3] = status; event[4] = indicator.index; - event[5] = indicator.status; + event[5] = indicator.status; + strncpy((char*)&event[6], indicator.name, HFP_MAX_INDICATOR_DESC_SIZE); + event[6+HFP_MAX_INDICATOR_DESC_SIZE] = 0; (*callback)(event, sizeof(event)); } diff --git a/test/pts/hfp_hf_test.c b/test/pts/hfp_hf_test.c index 0262e43f2..610f339f5 100644 --- a/test/pts/hfp_hf_test.c +++ b/test/pts/hfp_hf_test.c @@ -209,7 +209,7 @@ static void packet_handler(uint8_t * event, uint16_t event_size){ } break; case HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED: - printf("AG_INDICATOR_STATUS_CHANGED, AG indicator index: %d, status: %d\n", event[4], event[5]); + printf("AG_INDICATOR_STATUS_CHANGED, AG indicator '%s' (index: %d) to: %d\n", (const char*) &event[6], event[4], event[5]); break; case HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED: printf("NETWORK_OPERATOR_CHANGED, operator mode: %d, format: %d, name: %s\n", event[4], event[5], (char *) &event[6]);