From: Andrei Emeltchenko <[email protected]>
This avoid sending zeroed Class of Device and making it unidentified.
...
prop[0]: type=BT_PROPERTY_CLASS_OF_DEVICE len=4 val=000000
prop[1]: type=BT_PROPERTY_REMOTE_RSSI len=1 val=-75
prop[2]: type=BT_PROPERTY_BDNAME len=249 val=Microsoft Bluetooth Number Pad
...
---
android/adapter.c | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/android/adapter.c b/android/adapter.c
index 39389ee..314f711 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -454,19 +454,23 @@ static int fill_device_props(struct hal_property *prop, bdaddr_t *addr,
{
uint8_t num_props = 0;
- /* fill cod */
- prop->type = HAL_PROP_DEVICE_CLASS;
- prop->len = sizeof(cod);
- memcpy(prop->val, &cod, prop->len);
- prop = ((void *) prop) + sizeof(*prop) + sizeof(cod);
- num_props++;
-
- /* fill rssi */
- prop->type = HAL_PROP_DEVICE_RSSI;
- prop->len = sizeof(rssi);
- memcpy(prop->val, &rssi, prop->len);
- prop = ((void *) prop) + sizeof(*prop) + sizeof(rssi);
- num_props++;
+ /* fill Class of Device */
+ if (cod) {
+ prop->type = HAL_PROP_DEVICE_CLASS;
+ prop->len = sizeof(cod);
+ memcpy(prop->val, &cod, prop->len);
+ prop = ((void *) prop) + sizeof(*prop) + sizeof(cod);
+ num_props++;
+ }
+
+ /* fill RSSI */
+ if (rssi) {
+ prop->type = HAL_PROP_DEVICE_RSSI;
+ prop->len = sizeof(rssi);
+ memcpy(prop->val, &rssi, prop->len);
+ prop = ((void *) prop) + sizeof(*prop) + sizeof(rssi);
+ num_props++;
+ }
/* fill name */
if (name) {
--
1.7.10.4
Hi Andrei,
On Fri, Nov 01, 2013, Andrei Emeltchenko wrote:
> This avoid sending zeroed Class of Device and making it unidentified.
> ...
> prop[0]: type=BT_PROPERTY_CLASS_OF_DEVICE len=4 val=000000
> prop[1]: type=BT_PROPERTY_REMOTE_RSSI len=1 val=-75
> prop[2]: type=BT_PROPERTY_BDNAME len=249 val=Microsoft Bluetooth Number Pad
> ...
> ---
> android/adapter.c | 30 +++++++++++++++++-------------
> 1 file changed, 17 insertions(+), 13 deletions(-)
Applied. Thanks.
Johan