summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2012-12-29 15:29:20 -0800
committerMarcel Holtmann <marcel@holtmann.org>2012-12-29 15:29:20 -0800
commit26d6372b2c82117505e91375031c020995836ec4 (patch)
treea74bb14988021e224d4df0459a3c4b9a10ee1160 /plugins
parentfd920203d51b13045d88ff54a7dff6f238889202 (diff)
downloadbluez-26d6372b2c82117505e91375031c020995836ec4.tar.gz
hostname: Use numbered pretty hostnames for multiple adapters
Diffstat (limited to 'plugins')
-rw-r--r--plugins/hostname.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/plugins/hostname.c b/plugins/hostname.c
index 480936620..d4307bc32 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)