diff options
| -rw-r--r-- | common/glib-helper.c | 18 | ||||
| -rw-r--r-- | common/glib-helper.h | 3 | ||||
| -rw-r--r-- | serial/port.c | 14 | 
3 files changed, 19 insertions, 16 deletions
| diff --git a/common/glib-helper.c b/common/glib-helper.c index 1812cc6d..17a8cb45 100644 --- a/common/glib-helper.c +++ b/common/glib-helper.c @@ -486,7 +486,7 @@ static struct {  	{ }  }; -uint16_t bt_string2class(const char *pattern) +uint16_t bt_name2class(const char *pattern)  {  	int i; @@ -498,6 +498,20 @@ uint16_t bt_string2class(const char *pattern)  	return 0;  } +char *bt_name2string(const char *pattern) +{ +	uuid_t uuid; +	uint16_t uuid16; + +	uuid16 = bt_name2class(pattern); +	if (!uuid16) +		return NULL; + +	sdp_uuid16_create(&uuid, uuid16); + +	return bt_uuid2string(&uuid); +} +  int bt_string2uuid(uuid_t *uuid, const char *string)  {  	uint32_t data0, data4; @@ -530,7 +544,7 @@ int bt_string2uuid(uuid_t *uuid, const char *string)  		return 0;  	} else { -		uint16_t class = bt_string2class(string); +		uint16_t class = bt_name2class(string);  		if (class) {  			sdp_uuid16_create(uuid, class);  			return 0; diff --git a/common/glib-helper.h b/common/glib-helper.h index ee63b2d7..794d296c 100644 --- a/common/glib-helper.h +++ b/common/glib-helper.h @@ -38,7 +38,8 @@ int bt_search_service(const bdaddr_t *src, const bdaddr_t *dst,  int bt_cancel_discovery(const bdaddr_t *src, const bdaddr_t *dst);  gchar *bt_uuid2string(uuid_t *uuid); -uint16_t bt_string2class(const char *string); +uint16_t bt_name2class(const char *string); +char *bt_name2string(const char *string);  int bt_string2uuid(uuid_t *uuid, const char *string);  gchar *bt_list2string(GSList *list);  GSList *bt_string2list(const gchar *str); diff --git a/serial/port.c b/serial/port.c index c4fa644c..1f62b5e4 100644 --- a/serial/port.c +++ b/serial/port.c @@ -101,8 +101,6 @@ static struct serial_port *find_port(GSList *ports, const char *pattern)  	for (l = ports; l != NULL; l = l->next) {  		struct serial_port *port = l->data; -		uuid_t uuid; -		uint16_t uuid16;  		char *uuid_str;  		int ret; @@ -112,17 +110,7 @@ static struct serial_port *find_port(GSList *ports, const char *pattern)  		if (port->dev && !strcmp(port->dev, pattern))  			return port; -		/* The following steps converts a potential friendly-name to a -		 * UUID-128 string and compares it with the port UUID (which is -		 * also stored as a UUID-128 string */ - -		uuid16 = bt_string2class(pattern); -		if (!uuid16) -			continue; - -		sdp_uuid16_create(&uuid, uuid16); - -		uuid_str = bt_uuid2string(&uuid); +		uuid_str = bt_name2string(pattern);  		if (!uuid_str)  			continue; | 
