Re: [PATCH v2 19/24] dyndbg: accept query terms like module:foo and file=bar

From: Petr Mladek
Date: Wed Jun 17 2020 - 08:12:01 EST


On Tue 2020-06-16 14:08:57, jim.cromie@xxxxxxxxx wrote:
> On Tue, Jun 16, 2020 at 5:57 AM Petr Mladek <pmladek@xxxxxxxx> wrote:
> >
> > On Sat 2020-06-13 09:57:33, Jim Cromie wrote:
> > > Current code expects "keyword" "arg" as 2 space separated words.
> > > Change to also accept "keyword:arg" and "keyword=arg" forms as well,
> > > and drop !(nwords%2) requirement.
> > >
> > > Then in rest of function, use new keyword,arg variables instead of
> > > word[i],word[i+1]
> >
> > I like the idea. But please allow only one form. IMHO, parameter=value
> > is a common way to pass values to commandline parameters.
> >
>
> I dont see a basis to prefer one over the other.
> we already now accept " file foo.c:func "
> that might argue for file=foo:func
> but file:foo:func is what youd expect reading left-to-right
>
> > Note that "keyword" and "arg" is strange naming, especially "arg".
> >
>
> I think keyword is clear in context. query_term is suitable, but no better.
>
> arg is pretty generic, without overloaded meaning like value ( like
> lvalue ? rvalue ?)
> almost as old as 'i', but generally a string (not an int)
> Is there an alternative you favor ?

You made to do some research and I was wrong. For example, getopt()
operates with options and their arguments. So, 'keyword' and 'arg' names
look good after all.

Well, I still think that only one syntax should be supported. And it
is better to distinguish keywords and arguments, so I prefer keyword=arg.

I see "filename:func" or "filename:line" as a compound parameter. People are
familiar with this syntax, for example, from gdb.

But using '=' is very common for first level delimiter: getopt,
qemu.

Well, I do not have strong opinion on this.

Best Regards,
Petr