diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2021-08-04 12:31:05 +0400 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2021-08-26 13:53:56 +0200 |
commit | 8a9f1e1d9cc55f5eb0946cbf8fd1ef9a0e7d3dac (patch) | |
tree | 11ccd49b95bbad5e049e02d0283266dfb9f883dd /scripts/qapi/expr.py | |
parent | 2b7d2145369f2ca55ded9045393bb860ee3f6745 (diff) | |
download | qemu-8a9f1e1d9cc55f5eb0946cbf8fd1ef9a0e7d3dac.zip qemu-8a9f1e1d9cc55f5eb0946cbf8fd1ef9a0e7d3dac.tar.gz qemu-8a9f1e1d9cc55f5eb0946cbf8fd1ef9a0e7d3dac.tar.bz2 |
qapi: make 'if' condition strings simple identifiers
Change the 'if' condition strings to be C-agnostic. It will accept
'[A-Z][A-Z0-9_]*' identifiers. This allows to express configuration
conditions in other languages (Rust or Python for ex) or other more
suitable forms.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Tested-by: John Snow <jsnow@redhat.com>
Message-Id: <20210804083105.97531-11-marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Rebased with semantic conflict in redefined-event.json]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'scripts/qapi/expr.py')
-rw-r--r-- | scripts/qapi/expr.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/qapi/expr.py b/scripts/qapi/expr.py index 120b310..019f4c9 100644 --- a/scripts/qapi/expr.py +++ b/scripts/qapi/expr.py @@ -275,10 +275,10 @@ def check_if(expr: _JSONObject, info: QAPISourceInfo, source: str) -> None: def _check_if(cond: Union[str, object]) -> None: if isinstance(cond, str): - if not cond.strip(): + if not re.match(r'^[A-Z][A-Z0-9_]*$', cond): raise QAPISemError( info, - "'if' condition '%s' of %s makes no sense" + "'if' condition '%s' of %s is not a valid identifier" % (cond, source)) return |