diff options
| -rw-r--r-- | src/device.c | 32 | ||||
| -rw-r--r-- | src/storage.c | 29 | ||||
| -rw-r--r-- | src/storage.h | 1 | 
3 files changed, 31 insertions, 31 deletions
| diff --git a/src/device.c b/src/device.c index c9d1d310..7a06cd14 100644 --- a/src/device.c +++ b/src/device.c @@ -562,34 +562,6 @@ gint device_address_cmp(struct btd_device *device, const gchar *address)  	return strcasecmp(addr, address);  } -sdp_record_t *get_record(sdp_list_t *recs, const char *uuid) -{ -	sdp_list_t *seq; - -	for (seq = recs; seq; seq = seq->next) { -		sdp_record_t *rec = (sdp_record_t *) seq->data; -		sdp_list_t *svcclass = NULL; -		char *uuid_str; - -		if (sdp_get_service_classes(rec, &svcclass) < 0) -			continue; - -		/* Extract the uuid */ -		uuid_str = bt_uuid2string(svcclass->data); -		if (!uuid_str) -			continue; - -		if (!strcasecmp(uuid_str, uuid)) { -			sdp_list_free(svcclass, free); -			free(uuid_str); -			return rec; -		} -		sdp_list_free(svcclass, free); -		free(uuid_str); -	} -	return NULL; -} -  void device_probe_drivers(struct btd_device *device, GSList *uuids, sdp_list_t *recs)  {  	GSList *list; @@ -609,7 +581,7 @@ void device_probe_drivers(struct btd_device *device, GSList *uuids, sdp_list_t *  					(GCompareFunc) strcasecmp))  				continue; -			rec = get_record(recs, *uuid); +			rec = find_record_in_list(recs, *uuid);  			if (!rec)  				continue; @@ -670,7 +642,7 @@ void device_remove_drivers(struct btd_device *device, GSList *uuids, sdp_list_t  			g_free(driver_data); -			rec = get_record(recs, *uuid); +			rec = find_record_in_list(recs, *uuid);  			if (!rec)  				continue; diff --git a/src/storage.c b/src/storage.c index fc0f15d4..c951f0f2 100644 --- a/src/storage.c +++ b/src/storage.c @@ -45,7 +45,7 @@  #include <bluetooth/sdp_lib.h>  #include "textfile.h" - +#include "glib-helper.h"  static inline int create_filename(char *buf, size_t size, const bdaddr_t *bdaddr, const char *name)  {  	char addr[18]; @@ -854,6 +854,33 @@ sdp_list_t *read_records(const gchar *src, const gchar *dst)  	return rec_list.recs;  } +sdp_record_t *find_record_in_list(sdp_list_t *recs, const char *uuid) +{ +	sdp_list_t *seq; + +	for (seq = recs; seq; seq = seq->next) { +		sdp_record_t *rec = (sdp_record_t *) seq->data; +		sdp_list_t *svcclass = NULL; +		char *uuid_str; + +		if (sdp_get_service_classes(rec, &svcclass) < 0) +			continue; + +		/* Extract the uuid */ +		uuid_str = bt_uuid2string(svcclass->data); +		if (!uuid_str) +			continue; + +		if (!strcasecmp(uuid_str, uuid)) { +			sdp_list_free(svcclass, free); +			free(uuid_str); +			return rec; +		} +		sdp_list_free(svcclass, free); +		free(uuid_str); +	} +	return NULL; +}  int store_device_id(const gchar *src, const gchar *dst,  				const uint16_t source, const uint16_t vendor, diff --git a/src/storage.h b/src/storage.h index 85d1064c..adfc420b 100644 --- a/src/storage.h +++ b/src/storage.h @@ -60,6 +60,7 @@ int store_record(const gchar *src, const gchar *dst, sdp_record_t *rec);  sdp_record_t *fetch_record(const gchar *src, const gchar *dst, const uint32_t handle);  int delete_record(const gchar *src, const gchar *dst, const uint32_t handle);  sdp_list_t *read_records(const gchar *src, const gchar *dst); +sdp_record_t *find_record_in_list(sdp_list_t *recs, const char *uuid);  int store_device_id(const gchar *src, const gchar *dst,  				const uint16_t source, const uint16_t vendor,  				const uint16_t product, const uint16_t version); | 
