mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-protocol
synced 2025-12-26 22:55:30 +00:00
Don't send CursorHeader if cursor_flags is NONE
This commit is contained in:
parent
f3d92c736b
commit
4702feb5b1
@ -708,7 +708,10 @@ def write_switch_parser(writer, container, switch, dest, scope):
|
||||
if switch.has_end_attr():
|
||||
dest2 = dest.child_at_end(writer, m.member_type)
|
||||
elif switch.has_attr("anon"):
|
||||
dest2 = dest
|
||||
if t.is_struct() and not m.has_attr("to_ptr"):
|
||||
dest2 = dest.child_sub(m.name)
|
||||
else:
|
||||
dest2 = dest
|
||||
else:
|
||||
if t.is_struct():
|
||||
dest2 = dest.child_sub(switch.name + "." + m.name)
|
||||
|
||||
@ -591,9 +591,9 @@ class SwitchCase:
|
||||
if v == None:
|
||||
return "1"
|
||||
elif var_type.is_enum():
|
||||
checks.append("%s == %s" % (var_cname, var_type.c_enumname_by_name(v)))
|
||||
checks.append("%s == %s" % (var_cname, var_type.c_enumname_by_name(v[1])))
|
||||
else:
|
||||
checks.append("(%s & %s)" % (var_cname, var_type.c_enumname_by_name(v)))
|
||||
checks.append("%s(%s & %s)" % (v[0], var_cname, var_type.c_enumname_by_name(v[1])))
|
||||
return " || ".join(checks)
|
||||
|
||||
def resolve(self, container):
|
||||
|
||||
@ -93,7 +93,7 @@ def SPICE_BNF():
|
||||
variableDef = Group(typeSpec + Optional("*", default=None) + identifier + Optional(arraySizeSpec, default=None) + attributes - semi) \
|
||||
.setParseAction(parseVariableDef)
|
||||
|
||||
switchCase = Group(Group(OneOrMore(default_.setParseAction(replaceWith(None)) + colon | case_.suppress() + identifier + colon)) + variableDef) \
|
||||
switchCase = Group(Group(OneOrMore(default_.setParseAction(replaceWith(None)) + colon | Group(case_.suppress() + Optional("!", default="") + identifier) + colon)) + variableDef) \
|
||||
.setParseAction(lambda toks: ptypes.SwitchCase(toks[0][0], toks[0][1]))
|
||||
switchBody = Group(switch_ + lparen + delimitedList(identifier,delim='.', combine=True) + rparen + lbrace + Group(OneOrMore(switchCase)) + rbrace + identifier + attributes - semi) \
|
||||
.setParseAction(lambda toks: ptypes.Switch(toks[0][1], toks[0][2], toks[0][3], toks[0][4]))
|
||||
|
||||
@ -874,7 +874,10 @@ struct CursorHeader {
|
||||
|
||||
struct Cursor {
|
||||
cursor_flags flags;
|
||||
CursorHeader header;
|
||||
switch (flags) {
|
||||
case !NONE:
|
||||
CursorHeader header;
|
||||
} u @anon;
|
||||
uint8 data[] @as_ptr(data_size);
|
||||
};
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user