From e54dd33d86adaac1969f609c88c0a29ec0af4daf Mon Sep 17 00:00:00 2001 From: Matheus Bach <35426162+matheusbach@users.noreply.github.com> Date: Tue, 15 Jun 2021 23:08:16 -0300 Subject: [PATCH 1/2] bug fix --- src/native/corehost/runtime_config.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/native/corehost/runtime_config.cpp b/src/native/corehost/runtime_config.cpp index 986c44c9bad36f..74dc0e5986005c 100644 --- a/src/native/corehost/runtime_config.cpp +++ b/src/native/corehost/runtime_config.cpp @@ -116,7 +116,7 @@ bool runtime_config_t::parse_opts(const json_parser_t::value_t& opts) { if (probe_paths->value.IsString()) { - m_probe_paths.insert(m_probe_paths.begin(), probe_paths->value.GetString()); + m_probe_paths.insert(m_probe_paths.begin(), get_directory(m_path).GetString() + probe_paths->value.GetString()); } else if (probe_paths->value.IsArray()) { @@ -126,7 +126,7 @@ bool runtime_config_t::parse_opts(const json_parser_t::value_t& opts) for (; begin != end; begin++) { - m_probe_paths.push_front(begin->GetString()); + m_probe_paths.push_front(get_directory(m_path).GetString() + begin->GetString()); } } else From a451f11841ceda9c72b2f0a8051b221bb8ded3be Mon Sep 17 00:00:00 2001 From: matheusbach Date: Sat, 19 Jun 2021 15:21:19 -0300 Subject: [PATCH 2/2] Added relative probing paths as secondary option --- src/native/corehost/runtime_config.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/native/corehost/runtime_config.cpp b/src/native/corehost/runtime_config.cpp index 74dc0e5986005c..2333981dec6576 100644 --- a/src/native/corehost/runtime_config.cpp +++ b/src/native/corehost/runtime_config.cpp @@ -114,9 +114,15 @@ bool runtime_config_t::parse_opts(const json_parser_t::value_t& opts) const auto& probe_paths = opts_obj.FindMember(_X("additionalProbingPaths")); if (probe_paths != opts_obj.MemberEnd()) { + pal::string_t base_path = get_directory(m_path).c_str(); + if (probe_paths->value.IsString()) { - m_probe_paths.insert(m_probe_paths.begin(), get_directory(m_path).GetString() + probe_paths->value.GetString()); + pal::string_t full_path = base_path; + append_path(&full_path, probe_paths->value.GetString()); + + m_probe_paths.push_front(full_path.c_str()); + m_probe_paths.push_front(probe_paths->value.GetString()); } else if (probe_paths->value.IsArray()) { @@ -126,7 +132,11 @@ bool runtime_config_t::parse_opts(const json_parser_t::value_t& opts) for (; begin != end; begin++) { - m_probe_paths.push_front(get_directory(m_path).GetString() + begin->GetString()); + pal::string_t full_path = base_path; + append_path(&full_path, begin->GetString()); + + m_probe_paths.push_front(full_path.c_str()); + m_probe_paths.push_front(begin->GetString()); } } else