On Wed, 02 Jun 2010 09:39:26 +0200
Markus Armbruster <arm...@redhat.com> wrote:

> Luiz Capitulino <lcapitul...@redhat.com> writes:
> 
> > This is similar to qmp_check_client_args(), but checks if
> > the input object follows the specification (QMP/qmp-spec.txt
> > section 2.3).
> >
> > As we're limited to three keys, the work here is quite simple:
> > we iterate over the input object, each time checking if the
> > given argument complies to the specification.
> >
> > Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com>
> > ---
> >  monitor.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
> >  1 files changed, 45 insertions(+), 0 deletions(-)
> >
> > diff --git a/monitor.c b/monitor.c
> > index 1875731..654b193 100644
> > --- a/monitor.c
> > +++ b/monitor.c
> > @@ -4271,6 +4271,45 @@ static int qmp_check_client_args(const mon_cmd_t 
> > *cmd, QDict *client_args)
> >      return res.result;
> >  }
> >  
> > +/*
> > + * Input object checking rules
> > + *
> > + * 1. "execute" key must exist (not checked here)
> > + * 2. "execute" key must be a string
> > + * 3. "arguments" key must be a dict
> > + * 4. "id" key can be anything (ie. json-value)
> 
> Really?  Checking qmp-spec.txt... yes, really.  Is it a good idea to
> permit objects and arrays?

 It was Avi's suggestion to allow anything, maybe arrays don't make sense
but objects do.

Reply via email to