diff --git a/src/adapter.c b/src/adapter.c
index 556de1a..161636e 100644
--- a/src/adapter.c
+++ b/src/adapter.c
char *name;
gboolean new_dev, legacy, le;
name_status_t name_status = NAME_NOT_REQUIRED;
- const char *dev_name;
int err;
memset(&eir_data, 0, sizeof(eir_data));
return;
}
+ if (eir_data.name != NULL && eir_data.name_complete)
+ write_device_name(&adapter->bdaddr, bdaddr, eir_data.name);
+
name = read_stored_data(&adapter->bdaddr, bdaddr, "names");
if (eir_data.flags < 0) {
legacy = FALSE;
}
- /* Complete EIR names are always used. Shortened EIR names are only
- * used if there is no name already in storage. */
- dev_name = name;
- if (eir_data.name != NULL) {
- if (eir_data.name_complete) {
- write_device_name(&adapter->bdaddr, bdaddr,
- eir_data.name);
- name_status = NAME_NOT_REQUIRED;
- dev_name = eir_data.name;
- } else if (name == NULL)
- dev_name = eir_data.name;
- }
-
dev = get_found_dev(adapter, bdaddr, &new_dev);
if (new_dev) {
+ const char *dev_name = (name ? name : eir_data.name);
char *alias;
+
if (dev_name)
dev->name = g_strdup(dev_name);