diff options
author | Francisco Alecrim <francisco.alecrim@openbossa.org> | 2010-04-08 17:35:01 -0400 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2010-04-12 01:43:34 +0300 |
commit | 86190ea09cf8375ad8f08889f6ebb3629ab4beed (patch) | |
tree | c60c0e48bd60eba92aa14ff3f47f3d0220ddedb4 | |
parent | 78c8da05216642cd7f668c19a03ce15cd021686c (diff) | |
download | bluez-86190ea09cf8375ad8f08889f6ebb3629ab4beed.tar.gz |
List with UUIDs per-adapter should be sorted
-rw-r--r-- | src/adapter.c | 5 | ||||
-rw-r--r-- | src/sdpd-database.c | 2 | ||||
-rw-r--r-- | src/sdpd.h | 1 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/adapter.c b/src/adapter.c index 8fc47b95c..c174793a2 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -1081,8 +1081,9 @@ static void adapter_service_ins_rem(const bdaddr_t *bdaddr, void *rec, adapter = adapters->data; if (insert == TRUE) - adapter->services = sdp_list_append(adapter->services, - rec); + adapter->services = sdp_list_insert_sorted( + adapter->services, rec, + record_sort); else adapter->services = sdp_list_remove(adapter->services, rec); diff --git a/src/sdpd-database.c b/src/sdpd-database.c index 224a4e74a..263b16ead 100644 --- a/src/sdpd-database.c +++ b/src/sdpd-database.c @@ -55,7 +55,7 @@ typedef struct { * The service repository is a linked list in sorted order * and the service record handle is the sort key */ -static int record_sort(const void *r1, const void *r2) +int record_sort(const void *r1, const void *r2) { const sdp_record_t *rec1 = (const sdp_record_t *) r1; const sdp_record_t *rec2 = (const sdp_record_t *) r2; diff --git a/src/sdpd.h b/src/sdpd.h index 1f0a2291d..ce189caf3 100644 --- a/src/sdpd.h +++ b/src/sdpd.h @@ -70,6 +70,7 @@ sdp_buf_t *sdp_get_cached_rsp(sdp_cont_state_t *cstate); void sdp_cstate_cache_init(void); void sdp_cstate_clean_buf(void); +int record_sort(const void *r1, const void *r2); void sdp_svcdb_reset(void); void sdp_svcdb_collect_all(int sock); void sdp_svcdb_set_collectable(sdp_record_t *rec, int sock); |