`fields` and `extrafields` always all the parts of a sub-struct, so when there is '}', there is always a '{' before it. Also, both are lists.
Signed-off-by: Anthony PERARD <anthony.per...@citrix.com> --- xen/tools/compat-xlat-header.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/tools/compat-xlat-header.py b/xen/tools/compat-xlat-header.py index ae5c9f11c9..d0a864b68e 100644 --- a/xen/tools/compat-xlat-header.py +++ b/xen/tools/compat-xlat-header.py @@ -105,7 +105,7 @@ def handle_field(prefix, name, id, type, fields): else: k = id.replace('.', '_') print("%sXLAT_%s_HNDL_%s(_d_, _s_);" % (prefix, name, k), end='') - elif not re_brackets.search(' '.join(fields)): + elif not '{' in fields: tag = ' '.join(fields) tag = re.sub(r'\s*(struct|union)\s+(compat_)?(\w+)\s.*', '\\3', tag) print(" \\") @@ -290,7 +290,7 @@ def build_body(name, tokens): print(" \\\n} while (0)") def check_field(kind, name, field, extrafields): - if not re_brackets.search(' '.join(extrafields)): + if not '{' in extrafields: print("; \\") if len(extrafields) != 0: for token in extrafields: -- Anthony PERARD