bluetooth_device_address_t *addr = l->data;
if (!memcmp(device_addr, addr,
- sizeof(bluetooth_device_address_t)))
+ sizeof(bluetooth_device_address_t)))
return TRUE;
}
{
GSList *l;
bluetooth_device_address_t *addr = NULL;
- char device_address[BT_ADDRESS_STRING_SIZE] = { 0 };
char secure_address[BT_ADDRESS_STRING_SIZE] = { 0 };
- _bt_convert_addr_type_to_string(device_address,
- (unsigned char *)address->addr);
- _bt_convert_addr_string_to_secure_string(secure_address,
- device_address);
+ _bt_convert_addr_type_to_secure_string(secure_address, (unsigned char *)address->addr);
BT_INFO("Set watcher for %s with %d", secure_address, enable);
if (enable == TRUE) {
- if (service_monitor_list == NULL)
- _bt_register_manager_subscribe_signal(TRUE);
-
if (_bluetooth_gatt_check_service_change_watcher_address(address)
== TRUE) {
BT_INFO("The watcher is already set");
return BLUETOOTH_ERROR_NONE;
}
+
+ if (service_monitor_list == NULL) {
+ _bt_register_manager_subscribe_signal(TRUE);
+ }
+
addr = g_malloc0(sizeof(bluetooth_device_address_t));
memcpy(addr, address, sizeof(bluetooth_device_address_t));
service_monitor_list =
g_slist_append(service_monitor_list, addr);
} else {
-
for (l = service_monitor_list; l != NULL; l = l->next) {
addr = l->data;
+
if (!memcmp(address, addr,
- sizeof(bluetooth_device_address_t))) {
+ sizeof(bluetooth_device_address_t))) {
service_monitor_list =
g_slist_remove(service_monitor_list, addr);
g_free(addr);