From 92857fd5c95f206165240d2f02ca8a0cea6c3293 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 30 Sep 2022 11:40:29 -0700 Subject: [PATCH] intel/genxml: don't overwrite the input of gen_sort_tags in place otherwise we can be left with garbage Reviewd-by: Jordan Justen Part-of: --- src/intel/genxml/gen_sort_tags.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/intel/genxml/gen_sort_tags.py b/src/intel/genxml/gen_sort_tags.py index 2710ffb4631..fd4dea0235b 100755 --- a/src/intel/genxml/gen_sort_tags.py +++ b/src/intel/genxml/gen_sort_tags.py @@ -9,9 +9,6 @@ import re import xml.etree.ElementTree as et import typing -if typing.TYPE_CHECKING: - import os - def get_filename(element: et.Element) -> str: return element.attrib['filename'] @@ -107,7 +104,7 @@ def print_node(f: typing.TextIO, offset: int, node: et.Element) -> None: f.write('/>\n') -def process(filename: os.PathLike[str]) -> None: +def process(filename: pathlib.Path) -> None: xml = et.parse(filename) genxml = xml.getroot() @@ -145,10 +142,13 @@ def process(filename: os.PathLike[str]) -> None: genxml[:] = enums + list(sorted_structs.values()) + instructions + registers - with open(filename, 'w') as f: + tmp = filename.with_suffix(f'{filename.suffix}.tmp') + with tmp.open('w') as f: f.write('\n') print_node(f, 0, genxml) - + filename.unlink() + tmp.rename(filename) + if __name__ == '__main__': folder = pathlib.Path('.')