26#if defined (HAVE_CONFIG_H)
43 : m_orig_path (s), m_initialized (false), m_expanded_path (),
46 if (! m_orig_path.empty ())
53 return m_initialized ? m_path_elements : std::list<std::string> ();
59 std::list<std::string> retval;
63 for (
const auto& elt : m_path_elements)
67 if (! elt_dir.empty ())
68 retval.push_back (elt_dir);
86 : std::list<std::string> ());
101 : std::list<std::string> ());
105directory_path::init ()
107 static bool octave_kpse_initialized =
false;
109 if (! octave_kpse_initialized)
111 std::string env_val = sys::env::getenv (
"KPATHSEA_DEBUG");
113 if (! env_val.empty ())
115 unsigned int env_debug_flags = 0;
119 unsigned long val = std::stoul (env_val);
121 if (val > std::numeric_limits<unsigned int>::max ())
122 (*current_liboctave_warning_with_id_handler)
123 (
"Octave:kpathsea-debug-value-ignored",
"directory_path::init: ignoring out of range KPATHSEA_DEBUG value '%s'", env_val.c_str ());
125 env_debug_flags = val;
127 catch (
const std::invalid_argument&)
129 (*current_liboctave_warning_with_id_handler)
130 (
"Octave:kpathsea-debug-value-ignored",
"directory_path::init: ignoring invalid KPATHSEA_DEBUG value '%s'", env_val.c_str ());
132 catch (
const std::out_of_range&)
134 (*current_liboctave_warning_with_id_handler)
135 (
"Octave:kpathsea-debug-value-ignored",
"directory_path::init: ignoring out of range KPATHSEA_DEBUG value '%s'", env_val.c_str ());
141 octave_kpse_initialized =
true;
147 m_path_elements.push_back (*pi);
149 m_initialized =
true;
164OCTAVE_END_NAMESPACE(octave)
std::list< std::string > find_all(const std::string &)
std::list< std::string > all_directories()
std::string find_first_of(const std::list< std::string > &names)
std::string find_first(const std::string &)
std::list< std::string > find_all_first_of(const std::list< std::string > &names)
static std::string path_sep_str()
static char path_sep_char()
std::list< std::string > elements()
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
std::string kpse_path_find_first_of(const std::string &path, const std::list< std::string > &names)
std::string kpse_element_dir(const std::string &elt)
std::string kpse_path_expand(const std::string &path)
std::list< std::string > kpse_all_path_find_first_of(const std::string &path, const std::list< std::string > &names)
std::list< std::string > kpse_all_path_search(const std::string &path, const std::string &name)
std::string kpse_path_search(const std::string &path, const std::string &name)