changeset 29644:faef4139b563

maint: merge stable to default.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 10 May 2021 20:17:29 +0200
parents 0562777c015f (current diff) 874430de1cc7 (diff)
children eb49c0c02a54
files libinterp/octave-value/ov-mex-fcn.cc libinterp/octave-value/ov-usr-fcn.cc
diffstat 3 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/octave-value/ov-dld-fcn.cc	Sat May 08 21:12:19 2021 +0200
+++ b/libinterp/octave-value/ov-dld-fcn.cc	Mon May 10 20:17:29 2021 +0200
@@ -52,8 +52,11 @@
 
   std::string file_name = fcn_file_name ();
 
+  static const std::string canonical_oct_file_dir
+    = octave::sys::canonicalize_file_name (octave::config::oct_file_dir ());
   static const std::string oct_file_dir
-    = octave::sys::canonicalize_file_name (octave::config::oct_file_dir ());
+    = canonical_oct_file_dir.empty () ? octave::config::oct_file_dir ()
+                                      : canonical_oct_file_dir;
 
   system_fcn_file
     = (! file_name.empty ()
@@ -69,8 +72,11 @@
 
   std::string file_name = fcn_file_name ();
 
+  static const std::string canonical_oct_file_dir
+    = octave::sys::canonicalize_file_name (octave::config::oct_file_dir ());
   static const std::string oct_file_dir
-    = octave::sys::canonicalize_file_name (octave::config::oct_file_dir ());
+    = canonical_oct_file_dir.empty () ? octave::config::oct_file_dir ()
+                                      : canonical_oct_file_dir;
 
   system_fcn_file
     = (! file_name.empty ()
--- a/libinterp/octave-value/ov-mex-fcn.cc	Sat May 08 21:12:19 2021 +0200
+++ b/libinterp/octave-value/ov-mex-fcn.cc	Mon May 10 20:17:29 2021 +0200
@@ -57,8 +57,12 @@
 
   std::string file_name = fcn_file_name ();
 
+  static const std::string canonical_oct_file_dir
+    = octave::sys::canonicalize_file_name (octave::config::oct_file_dir ());
   static const std::string oct_file_dir
-    = octave::sys::canonicalize_file_name (octave::config::oct_file_dir ());
+    = canonical_oct_file_dir.empty () ? octave::config::oct_file_dir ()
+                                      : canonical_oct_file_dir;
+
   m_is_system_fcn_file
     = (! file_name.empty ()
        && oct_file_dir == file_name.substr (0, oct_file_dir.length ()));
--- a/libinterp/octave-value/ov-usr-fcn.cc	Sat May 08 21:12:19 2021 +0200
+++ b/libinterp/octave-value/ov-usr-fcn.cc	Mon May 10 20:17:29 2021 +0200
@@ -360,9 +360,13 @@
 
       std::string ff_name = octave::fcn_file_in_path (file_name);
 
-      static const std::string fcn_file_dir
+      static const std::string canonical_fcn_file_dir
         = octave::sys::canonicalize_file_name
             (octave::config::fcn_file_dir ());
+      static const std::string fcn_file_dir
+        = canonical_fcn_file_dir.empty () ? octave::config::fcn_file_dir ()
+                                          : canonical_fcn_file_dir;
+
       if (fcn_file_dir == ff_name.substr (0, fcn_file_dir.length ()))
         m_system_fcn_file = true;
     }