aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2019-09-27 15:46:24 +0200
committerMarkus Armbruster <armbru@redhat.com>2019-09-28 17:17:19 +0200
commit64e04f7149dd7f0f32b8e7aa5a89a0c1e6d0b5d6 (patch)
tree19c760c4fffb0ea83aa1b20899a437e483be0857 /scripts
parent6ba1ba7f0e54f100af8d4e28e9bc9978c971c0e0 (diff)
qapi: Report invalid '*' prefix like any other invalid name
The special "does not allow optional name" error is well meant, but confusing in practice. Drop it. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20190927134639.4284-12-armbru@redhat.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/qapi/common.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
index d0d997f31c..a4cf41f13e 100644
--- a/scripts/qapi/common.py
+++ b/scripts/qapi/common.py
@@ -724,11 +724,8 @@ def check_name_str(name, info, source,
global valid_name
membername = name
- if name.startswith('*'):
+ if allow_optional and name.startswith('*'):
membername = name[1:]
- if not allow_optional:
- raise QAPISemError(info, "%s does not allow optional name '%s'"
- % (source, name))
# Enum members can start with a digit, because the generated C
# code always prefixes it with the enum name
if enum_member and membername[0].isdigit():
@@ -741,6 +738,7 @@ def check_name_str(name, info, source,
if not permit_upper and name.lower() != name:
raise QAPISemError(
info, "%s uses uppercase in name '%s'" % (source, name))
+ assert not membername.startswith('*')
def add_name(name, info, meta):