diff --git a/ament_index_cpp/src/get_package_prefix.cpp b/ament_index_cpp/src/get_package_prefix.cpp index d6468c1..52c13a7 100644 --- a/ament_index_cpp/src/get_package_prefix.cpp +++ b/ament_index_cpp/src/get_package_prefix.cpp @@ -23,11 +23,20 @@ namespace ament_index_cpp { +static size_t package_not_found_count = 0; + static std::string format_package_not_found_error_message(const std::string & package_name) { - std::string message = "package '" + package_name + "' not found, searching: ["; + std::string message = "package '" + package_name + "' not found"; + + // Don't need to print out the package paths more than once + if (package_not_found_count++ > 0) { + return message; + } + + message += ", searching: ["; auto search_paths = get_search_paths(); for (const auto & path : search_paths) { message += path + ", ";