From fdbb44fec6bd84ecc0c33378b6c1f88d299b967f Mon Sep 17 00:00:00 2001
From: Johannes Pfeifer <jpfeifer@gmx.de>
Date: Thu, 10 Nov 2016 17:58:47 +0100
Subject: [PATCH] Account for Octave's dbstack providing full path, not just
 filename

---
 matlab/dynare_solve.m | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/matlab/dynare_solve.m b/matlab/dynare_solve.m
index d70c2c2fd..149d2f9ed 100644
--- a/matlab/dynare_solve.m
+++ b/matlab/dynare_solve.m
@@ -40,13 +40,19 @@ jacobian_flag = options.jacobian_flag;
 
 % Set tolerance parameter depending the the caller function.
 stack = dbstack;
-if strcmp(stack(2).file,'simulation_core.m') || strcmp(stack(2).file,'solve_stacked_problem.m')
+if isoctave
+    [pathstr,name,ext]=fileparts(stack(2).file);
+    caller_file_name=[name,ext];
+else
+    caller_file_name=stack(2).file;
+end
+if strcmp(caller_file_name,'simulation_core.m') || strcmp(caller_file_name,'solve_stacked_problem.m')
     tolf = options.dynatol.f;
 else
     tolf = options.solve_tolf;
 end
 
-if strcmp(stack(2).file,'dyn_ramsey_static.m')
+if strcmp(caller_file_name,'dyn_ramsey_static.m')
     maxit = options.ramsey.maxit;
 else
     maxit = options.steady.maxit;
-- 
GitLab