diff options
author | Oliver Reiche <oliver.reiche@huawei.com> | 2025-02-19 14:32:23 +0100 |
---|---|---|
committer | Oliver Reiche <oliver.reiche@huawei.com> | 2025-02-19 14:32:23 +0100 |
commit | cc1a97a31e431f020f763364a7938fdddf7d1482 (patch) | |
tree | 145f877ce7aea5604942f5f7ba8548fecf10d723 /rules/CC/include_scan.py | |
parent | c9ebda47ea13b78e796b4b0c87ce5eb7549f8406 (diff) | |
parent | 1dcac56d3f2b170617aba19726b92e267261c876 (diff) | |
download | rules-cc-cc1a97a31e431f020f763364a7938fdddf7d1482.tar.gz |
Merge subtree 'rules' into rules-cc
* commit '1dcac56d3f2b170617aba19726b92e267261c876':
Fix include scanner implementations
Diffstat (limited to 'rules/CC/include_scan.py')
-rwxr-xr-x | rules/CC/include_scan.py | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/rules/CC/include_scan.py b/rules/CC/include_scan.py index 1efa528..e169ec5 100755 --- a/rules/CC/include_scan.py +++ b/rules/CC/include_scan.py @@ -33,15 +33,13 @@ import shutil def include_scan(out_dir: str, cmd: list[str]): proc = subprocess.Popen(cmd, stdout=subprocess.PIPE) - if not proc.stdout: - proc.poll() + stdout, _ = proc.communicate() + if not stdout or proc.returncode != 0: exit(proc.returncode) - includes: set[str] = set() - for line in proc.stdout: - items = line.decode('utf-8').replace('\n', ' ') - paths = {os.path.normpath(i) for i in items.split(' ')} - includes |= {p for p in paths if p.startswith('include/')} + items = stdout.decode('utf-8').replace('\n', ' ') + paths = {os.path.normpath(i) for i in items.split(' ')} + includes = {p for p in paths if p.startswith('include/')} for path in includes: out_path = os.path.join(out_dir, path) @@ -55,10 +53,6 @@ def include_scan(out_dir: str, cmd: list[str]): print(e, file=sys.stderr) exit(1) - proc.poll() - if proc.returncode != 0: - exit(proc.returncode) - if __name__ == '__main__': include_scan(out_dir=sys.argv[1], cmd=sys.argv[2:]) |