From 40a60e92faa2ea30bdb7addadd7bc89d551c53b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Scylla=29?= 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 63d627f0b..10d4c1c9b 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 9f160ba0f..56c140d83 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 . +% 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 b69258583..20e1b28a7 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