From 40a60e92faa2ea30bdb7addadd7bc89d551c53b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Scylla=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Mon, 23 Jun 2014 13:54:52 +0200
Subject: [PATCH] Fixed bug when loaded m file data is not in the current
 folder or a subfoler.

---
 matlab/check_file_extension.m | 4 ++++
 matlab/get_file_extension.m   | 4 ++++
 matlab/load_m_file_data.m     | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/matlab/check_file_extension.m b/matlab/check_file_extension.m
index 63d627f0b0..10d4c1c9b3 100644
--- a/matlab/check_file_extension.m
+++ b/matlab/check_file_extension.m
@@ -19,6 +19,10 @@ function b = check_file_extension(file,type)
 
 % AUTHOR(S) stephane DOT adjemian AT univ DASH lemans DOT fr
 
+% Clean-up path
+file = strrep(file, '../', '');
+file = strrep(file, './', '');
+
 remain = file;
 while ~isempty(remain)
     [ext, remain] = strtok(remain,'.');
diff --git a/matlab/get_file_extension.m b/matlab/get_file_extension.m
index 9f160ba0f6..56c140d838 100644
--- a/matlab/get_file_extension.m
+++ b/matlab/get_file_extension.m
@@ -28,6 +28,10 @@ function ext = get_file_extension(file)
 % You should have received a copy of the GNU General Public License
 % along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
 
+% Clean-up path
+file = strrep(file, '../', '');
+file = strrep(file, './', '');
+
 remain = file;
 while ~isempty(remain)
     [ext, remain] = strtok(remain,'.');
diff --git a/matlab/load_m_file_data.m b/matlab/load_m_file_data.m
index b692585834..20e1b28a77 100644
--- a/matlab/load_m_file_data.m
+++ b/matlab/load_m_file_data.m
@@ -36,7 +36,7 @@ function [freq,init,data,varlist,tex] = load_m_file_data(file)
 if isoctave
     run(file);
 else
-    [basename, ext] = strtok(file,'.');
+    basename = file(1:end-2);
     run(basename);
 end
 
-- 
GitLab