From: Johan Hedberg <johan.hedberg@gmail.com>
To: "Frédéric Danis" <frederic.danis@linux.intel.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH v7 13/16] device: Retrieve name from cache directory
Date: Thu, 25 Oct 2012 12:52:12 +0300 [thread overview]
Message-ID: <20121025095212.GA24756@x220> (raw)
In-Reply-To: <1351089258-25179-14-git-send-email-frederic.danis@linux.intel.com>
Hi Frédéric,
On Wed, Oct 24, 2012, Frédéric Danis wrote:
> ---
> src/device.c | 25 ++++++++++++++++++++++++-
> 1 file changed, 24 insertions(+), 1 deletion(-)
I've applied patches 1-12 since they seemed fine to me but there are
some things to consider with 13-16:
> --- a/src/device.c
> +++ b/src/device.c
> @@ -1573,6 +1573,8 @@ struct btd_device *device_create(struct btd_adapter *adapter,
> const bdaddr_t *src;
> char srcaddr[18], alias[MAX_NAME_LENGTH + 1];
> uint16_t vendor, product, version;
> + char filename[PATH_MAX + 1];
> + GKeyFile *key_file;
>
> device = g_try_malloc0(sizeof(struct btd_device));
> if (device == NULL)
> @@ -1600,7 +1602,28 @@ struct btd_device *device_create(struct btd_adapter *adapter,
> src = adapter_get_address(adapter);
> ba2str(src, srcaddr);
>
> - read_device_name(srcaddr, address, bdaddr_type, device->name);
> + snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", srcaddr,
> + address);
> + filename[PATH_MAX] = '\0';
> + key_file = g_key_file_new();
> +
> + if (g_key_file_load_from_file(key_file, filename, 0, NULL)) {
> + char *str;
> + int len;
> +
> + str = g_key_file_get_string(key_file, "General", "Name", NULL);
> + if (str) {
> + len = strlen(str);
> + if (len > HCI_MAX_NAME_LENGTH)
> + str[HCI_MAX_NAME_LENGTH] = '\0';
> +
> + strcpy(device->name, str);
> + g_free(str);
> + }
> + }
> +
> + g_key_file_free(key_file);
> +
I'd rather have you split off a separate function to load the config
like you have for adapters.
Regarding the device name, I think the idea is that removing the cache
shouldn't cause any bad behavior with the persistent part of the storage
(i.e. configured devices). So we should probably also have the name in
the per-device storage file and try to read it from there first and if
that fails fall back to the cache.
Johan
next prev parent reply other threads:[~2012-10-25 9:52 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-24 14:34 [PATCH v7 00/16] Move storage config and names files to ini-file format Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 01/16] doc: Add settings storage documentation Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 02/16] adapter: Read name in storage at init Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 03/16] adaptername: Retrieve config name from adapter Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 04/16] adapter: Remove device class storage Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 05/16] adapter: Move pairable read to load_config() Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 06/16] adapter: Read pairable timeout in storage at init Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 07/16] adapter: Read discoverable " Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 08/16] adapter: Read mode " Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 09/16] adapter: Move saved config to ini-file format Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 10/16] TODO: Add entry to remove storage convertion function Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 11/16] adapter: Move storage names to cache directory Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 12/16] event: Remove write of LastSeen info Frédéric Danis
2012-10-24 14:34 ` [PATCH v7 13/16] device: Retrieve name from cache directory Frédéric Danis
2012-10-25 9:52 ` Johan Hedberg [this message]
2012-10-24 14:34 ` [PATCH v7 14/16] dbusoob: Store device name in " Frédéric Danis
2012-10-25 9:54 ` Johan Hedberg
2012-10-24 14:34 ` [PATCH v7 15/16] input: Retrieve device name from " Frédéric Danis
2012-10-25 9:55 ` Johan Hedberg
2012-10-24 14:34 ` [PATCH v7 16/16] hcitool: Retrieve names " Frédéric Danis
2012-10-25 9:55 ` Johan Hedberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121025095212.GA24756@x220 \
--to=johan.hedberg@gmail.com \
--cc=frederic.danis@linux.intel.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).