keyval: Fix and clarify grammar
commitfec3331894a8a433d1a58ec2c929743bbf449cb1
authorMarkus Armbruster <armbru@redhat.com>
Sun, 11 Oct 2020 07:34:59 +0000 (11 09:34 +0200)
committerKevin Wolf <kwolf@redhat.com>
Thu, 15 Oct 2020 14:06:27 +0000 (15 16:06 +0200)
tree03744100b9b209b11dacea2aaa8ea14a5a0a295e
parent57c98ea9acdcef5021f5671efa6475a5794a51c4
keyval: Fix and clarify grammar

The grammar has a few issues:

* key-fragment = / [^=,.]* /

  Prose restricts key fragments: they "must be valid QAPI names or
  consist only of decimal digits".  Technically, '' consists only of
  decimal digits.  The code rejects that.  Fix the grammar.

* val          = { / [^,]* / | ',,' }

  Use + instead of *.  Accepts the same language.

* val-no-key   = / [^=,]* /

  The code rejects an empty value.  Fix the grammar.

* Section "Additional syntax for use with an implied key" is
  confusing.  Rewrite it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201011073505.1185335-2-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
util/keyval.c