diff options
| author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2014-02-07 15:42:51 +0200 |
|---|---|---|
| committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-08-11 12:29:29 +0100 |
| commit | b67cd5c50dd39e4ed740a608ef78d39e30e7705a (patch) | |
| tree | 1045b72cb57246b6a9dae155e01c4fe4c164d90f | |
| parent | 1da02f4f75c8e37ef1d1aad701b1dab79f6d6cca (diff) | |
| download | bluez-b67cd5c50dd39e4ed740a608ef78d39e30e7705a.tar.gz | |
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.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c index 6a1c2b131..9cc7e2aab 100644 --- a/src/service.c +++ b/src/service.c @@ -327,6 +327,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) @@ -339,7 +342,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) |
