From: Luiz Augusto von Dentz <[email protected]>
This makes gatt_db_attribute_get_char_data work with Characteristic
Value rather than only with Characteristic Declaration.
---
src/shared/gatt-db.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/shared/gatt-db.c b/src/shared/gatt-db.c
index 4f5d10b57..d3b5cec1d 100644
--- a/src/shared/gatt-db.c
+++ b/src/shared/gatt-db.c
@@ -1528,7 +1528,7 @@ void gatt_db_service_foreach_char(struct gatt_db_attribute *attrib,
gatt_db_service_foreach(attrib, &characteristic_uuid, func, user_data);
}
-static int gatt_db_attribute_get_index(struct gatt_db_attribute *attrib)
+static int gatt_db_attribute_get_index(const struct gatt_db_attribute *attrib)
{
struct gatt_db_service *service;
int index;
@@ -1853,8 +1853,18 @@ bool gatt_db_attribute_get_char_data(const struct gatt_db_attribute *attrib,
if (!attrib)
return false;
- if (bt_uuid_cmp(&characteristic_uuid, &attrib->uuid))
- return false;
+ if (bt_uuid_cmp(&characteristic_uuid, &attrib->uuid)) {
+ int index;
+
+ /* Check if Characteristic Value was passed instead */
+ index = gatt_db_attribute_get_index(attrib);
+ if (index < 0)
+ return NULL;
+
+ attrib = attrib->service->attributes[index - 1];
+ if (bt_uuid_cmp(&characteristic_uuid, &attrib->uuid))
+ return false;
+ }
/*
* Characteristic declaration value:
--
2.35.1
Hello:
This patch was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <[email protected]>:
On Wed, 11 May 2022 17:55:14 -0700 you wrote:
> From: Luiz Augusto von Dentz <[email protected]>
>
> This makes gatt_db_attribute_get_char_data work with Characteristic
> Value rather than only with Characteristic Declaration.
> ---
> src/shared/gatt-db.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
Here is the summary with links:
- [BlueZ] gatt-db: Allow passing Characteristic Value to gatt_db_attribute_get_char_data
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=83497bbb307f
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=640776
---Test result---
Test Summary:
CheckPatch PASS 1.66 seconds
GitLint FAIL 1.10 seconds
Prep - Setup ELL PASS 52.47 seconds
Build - Prep PASS 0.82 seconds
Build - Configure PASS 10.66 seconds
Build - Make PASS 1520.85 seconds
Make Check PASS 13.21 seconds
Make Check w/Valgrind PASS 538.52 seconds
Make Distcheck PASS 281.07 seconds
Build w/ext ELL - Configure PASS 10.57 seconds
Build w/ext ELL - Make PASS 1484.25 seconds
Incremental Build with patchesPASS 0.00 seconds
Details
##############################
Test: GitLint - FAIL
Desc: Run gitlint with rule in .gitlint
Output:
[BlueZ] gatt-db: Allow passing Characteristic Value to gatt_db_attribute_get_char_data
1: T1 Title exceeds max length (86>80): "[BlueZ] gatt-db: Allow passing Characteristic Value to gatt_db_attribute_get_char_data"
---
Regards,
Linux Bluetooth