From 3dba31a7929ebc64b1f341ee4de0d8548487b8af Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Sun, 28 Jan 2024 12:42:26 +0100 Subject: [PATCH] Fixed handling of absolute paths in glob patterns --- src/config/config.cc | 10 ++++++---- tests/t00025/.clang-uml | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/config/config.cc b/src/config/config.cc index 012ebfcc..c0de719a 100644 --- a/src/config/config.cc +++ b/src/config/config.cc @@ -253,12 +253,14 @@ std::vector diagram::get_translation_units() const LOG_DBG("Looking for translation units in {}", root_directory().string()); for (const auto &g : glob()) { - std::string glob_path = - fmt::format("{}/{}", root_directory().string(), g.c_str()); + std::filesystem::path absolute_glob_path{g}; - LOG_DBG("Searching glob path {}", glob_path); + if (!absolute_glob_path.is_absolute()) + absolute_glob_path = root_directory() / absolute_glob_path; - auto matches = glob::glob(glob_path, true, false); + LOG_DBG("Searching glob path {}", absolute_glob_path.string()); + + auto matches = glob::glob(absolute_glob_path, true, false); for (const auto &match : matches) { const auto path = diff --git a/tests/t00025/.clang-uml b/tests/t00025/.clang-uml index 5dced1b2..ef03f511 100644 --- a/tests/t00025/.clang-uml +++ b/tests/t00025/.clang-uml @@ -2,7 +2,7 @@ diagrams: t00025_class: type: class glob: - - /t00025.cc + - t00025.cc using_namespace: clanguml::t00025 include: namespaces: