summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2014-02-07 15:42:51 +0200
committerMikko Ylinen <mikko.ylinen@intel.com>2014-09-23 21:29:21 +0300
commitd7db30a4efda6c9b076b147d97738772589ec4ee (patch)
tree5155ae1c142b3b13b23cab8f982023c253f51330
parentbd74b8bbfb35821c93491792362818b71d926053 (diff)
downloadbluez-d7db30a4efda6c9b076b147d97738772589ec4ee.tar.gz
bluez-d7db30a4efda6c9b076b147d97738772589ec4ee.tar.bz2
bluez-d7db30a4efda6c9b076b147d97738772589ec4ee.zip
core/service: Return required version in btd_service_get_version
This makes btd_service_get_version check both local and remote version and return the required version that the service should operate.
-rw-r--r--src/service.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c
index 529217a8..48b0592d 100644
--- a/src/service.c
+++ b/src/service.c
@@ -291,6 +291,9 @@ uint16_t btd_service_get_version(const struct btd_service *service)
sdp_profile_desc_t *desc;
uint16_t version;
+ if (!service->profile->version)
+ return 0;
+
rec = btd_device_get_record(service->device,
service->profile->remote_uuid);
if (rec == NULL)
@@ -303,7 +306,7 @@ uint16_t btd_service_get_version(const struct btd_service *service)
version = desc->version;
sdp_list_free(list, free);
- return version;
+ return MIN(version, service->profile->version);
}
unsigned int btd_service_add_state_cb(btd_service_state_cb cb, void *user_data)