From: Johan Hedberg <johan.hedberg@gmail.com>
To: Sheldon Demario <sheldon.demario@openbossa.org>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH 2/6 v2] Add an interactive mode to gatttool
Date: Tue, 1 Feb 2011 11:03:52 +0200 [thread overview]
Message-ID: <20110201090352.GA5278@jh-x301> (raw)
In-Reply-To: <1296494878-27221-1-git-send-email-sheldon.demario@openbossa.org>
On Mon, Jan 31, 2011, Sheldon Demario wrote:
> +static gboolean cmd_connect(gpointer cmd)
> +{
> + const char **c = (const char **) cmd;
> + if (conn_state != STATE_DISCONNECTED)
Missing line after the variable declaration and unnecessary explicit
type-cast (no need for void pointers). However why does this function
take a gpointer to begin with? I'd imagine the most convenient thing to
give the command handlers either a char* with the entire command line or
a pre-parsed argc + argv with the help of g_shell_parse_argv.
> + if (c[1] != NULL) {
Now that's just ugly. Much better if you use g_shell_parse_argv and then
you can use the usual getopt to separate switches from mandatory
parameters, etc.
> +static struct {
> + char *cmd;
I suppose this should be const char *
> + gboolean (*func)(gpointer cmd);
As I mentioned, instead of gpointer do char * or then (what I'd prefer)
simply argc + argv.
> + char *param;
Again, const
> + char *desc;
Same here.
> +} commands[] = {
> + { "connect", cmd_connect, "<bdaddr>", "Connect"},
> + { "disconnect", cmd_disconnect, NULL, "Disconnect"},
> + { "characteristics", characteristics, NULL,
> + "Characteristcs Discovery"},
> + { NULL, NULL, NULL, NULL}
> +};
Where's the "help" command? That's the first one I'd expect to be
implemented. Also, ctrl-d and "exit" should work from the start as ways
of exiting the program.
> +static void parse_line(char *line_read)
> +{
> + char **command;
> + int j;
Why j and not i?
> +static int do_interactive(void)
Didn't I tell you to do all the interactive stuff away from the main
gatttool.c file? There should only be the parsing of command line
parameters and a call to the interactive .c file in the case of
interactive mode.
Johan
next prev parent reply other threads:[~2011-02-01 9:03 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1296150752-27142-2-git-send-email-sheldon.demario@openbossa.org>
2011-01-31 17:27 ` [PATCH 2/6 v2] Add an interactive mode to gatttool Sheldon Demario
2011-02-01 9:03 ` Johan Hedberg [this message]
2011-02-02 18:53 ` Sheldon Demario
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=20110201090352.GA5278@jh-x301 \
--to=johan.hedberg@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=sheldon.demario@openbossa.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