diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /bin/find-unused-typedefs.py | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream/4%7.4.7.tar.xz libreoffice-upstream/4%7.4.7.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'bin/find-unused-typedefs.py')
-rwxr-xr-x | bin/find-unused-typedefs.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/bin/find-unused-typedefs.py b/bin/find-unused-typedefs.py new file mode 100755 index 000000000..0fd96749c --- /dev/null +++ b/bin/find-unused-typedefs.py @@ -0,0 +1,36 @@ +#!/usr/bin/python3 + +import subprocess + +# find typedefs, excluding the externals folder +a = subprocess.Popen("git grep -P 'typedef\\s+.+\\s+\\w+;' -- \"[!e][!x][!t]*\"", stdout=subprocess.PIPE, shell=True) + +# parse out the typedef names +typedefSet = set() +with a.stdout as txt: + for line in txt: + idx2 = line.rfind(b";") + idx1 = line.rfind(b" ", 0, idx2) + typedefName = line[idx1+1 : idx2] + if typedefName.startswith(b"*"): + typedefName = typedefName[1:] + # ignore anything less than 5 characters, it's probably a parsing error + if len(typedefName) < 5: continue + typedefSet.add(typedefName) + +for typedefName in sorted(typedefSet): + print(b"checking: " + typedefName) + a = subprocess.Popen(["git", "grep", "-wn", typedefName], stdout=subprocess.PIPE) + foundLine2 = b"" + cnt = 0 + with a.stdout as txt2: + for line2 in txt2: + cnt = cnt + 1 + foundLine2 += line2 + if cnt > 2: break + a.kill() + if cnt == 1: + print(b"remove: " + foundLine2) + elif cnt == 2: + print(b"inline: " + foundLine2) + |