On 19/01/2023 3:22 pm, Anthony PERARD wrote: > `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:
These are the only two users of re_brackets aren't they? In which case you should drop the re.compile() too. ~Andrew