From 6d6e337f5bec0d9728746ce60f7fb09d12042adb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Thu, 12 Jul 2012 09:18:04 +0200
Subject: [PATCH] Fixed bug (reported in
 karaba:/var/tmp/dynare-master-check-o0FCvBRHnf.log). dr.state_var was defined
 in the wrong place.

---
 matlab/dyn_first_order_solver.m | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/matlab/dyn_first_order_solver.m b/matlab/dyn_first_order_solver.m
index 74fbe62139..736bc4dfaf 100644
--- a/matlab/dyn_first_order_solver.m
+++ b/matlab/dyn_first_order_solver.m
@@ -69,9 +69,10 @@ persistent ndynamic nstatic nfwrd npred nboth nd nyf n
 
 
 if ~nargin
+    if nargout
+        error('dyn_first_order_solver:: Initialization mode returns zero argument!')
+    end
     reorder_jacobian_columns = [];
-    dr = [];
-    info = [];
     return
 end
 
@@ -112,7 +113,7 @@ if isempty(reorder_jacobian_columns)
     both_lagged_idx = lead_lag_incidence(1,both_id);
     both_leaded_idx = lead_lag_incidence(3,both_id);
     innovations_idx = (size(jacobia,2)-DynareModel.exo_nbr+1):size(jacobia,2);
-    dr.state_var  = [lag_idx, both_lagged_idx];
+    state_var  = [lag_idx, both_lagged_idx];
 
     indexi_0 = 0;
     if DynareModel.maximum_endo_lag > 0 && (npred > 0  || nboth > 0)
@@ -136,6 +137,8 @@ info = 0;
 dr.ghx = [];
 dr.ghu = [];
 
+dr.state_var = state_var;
+
 jacobia = jacobia(:,reorder_jacobian_columns);
 
 if nstatic > 0
-- 
GitLab