diff --git a/share/analysis-scripts/find_fun.py b/share/analysis-scripts/find_fun.py index e50d3d3f287e7caa95998cc614ee3a82e8e9ff5b..b14e429fba77ebf14b0e952f5826b0ffa71a6a10 100755 --- a/share/analysis-scripts/find_fun.py +++ b/share/analysis-scripts/find_fun.py @@ -26,11 +26,11 @@ # for a given function name, via heuristic syntactic matching. import argparse -import sys +import function_finder import os import re -import glob -import function_finder +import sys +from pathlib import Path MIN_PYTHON = (3, 5) # for glob(recursive) if sys.version_info < MIN_PYTHON: @@ -65,9 +65,12 @@ if not dirs: else: dirs = set(sys.argv[2:]) -files = [] +files = set() for d in dirs: - files += glob.glob(d + "/**/*.[ich]", recursive=True) + # The usage of Path.glob here prevents symbolic links from being + # followed, which is desirable in some situations. However, if you + # need them, try using glob.glob instead. + files.update(Path(d).glob("**/*.[ich]")) print("Looking for '%s' inside %d file(s)..." % (fname, len(files)))