Diff between fd920203d51b13045d88ff54a7dff6f238889202 and 26d6372b2c82117505e91375031c020995836ec4

Changed Files

File Additions Deletions Status
plugins/hostname.c +21 -3 modified

Full Patch

diff --git a/plugins/hostname.c b/plugins/hostname.c
index 4809366..d4307bc 100644
--- a/plugins/hostname.c
+++ b/plugins/hostname.c
@@ -56,13 +56,31 @@ static char *pretty_hostname = NULL;
 
 static void update_name(struct btd_adapter *adapter, gpointer user_data)
 {
+	struct btd_adapter *default_adapter;
+
 	if (pretty_hostname == NULL)
 		return;
 
-	DBG("name: %s", pretty_hostname);
+	default_adapter = manager_get_default_adapter();
+
+	if (default_adapter == NULL || adapter == default_adapter) {
+		DBG("name: %s", pretty_hostname);
+
+		adapter_set_allow_name_changes(adapter, FALSE);
+		adapter_set_name(adapter, pretty_hostname);
+	} else {
+		int dev_id = adapter_get_dev_id(adapter);
+		char *str;
+
+		str = g_strdup_printf("%s #%u", pretty_hostname, dev_id + 1);
 
-	adapter_set_allow_name_changes(adapter, FALSE);
-	adapter_set_name(adapter, pretty_hostname);
+		DBG("name: %s", str);
+
+		adapter_set_allow_name_changes(adapter, FALSE);
+		adapter_set_name(adapter, str);
+
+		g_free(str);
+	}
 }
 
 static void update_class(struct btd_adapter *adapter, gpointer user_data)