From 3b6acc8c2641c9665df4d3e51c3f3ad25fccf61c Mon Sep 17 00:00:00 2001
From: Olivier Sauter <olivier.sauter@epfl.ch>
Date: Fri, 2 Oct 2015 12:42:40 +0000
Subject: [PATCH] add argout in gdat even if crash

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@5104 d63d8f72-b253-0410-a779-e742ad2e26cf
---
 crpptbx/TCV/gdat_tcv.m |  1 +
 crpptbx/gdat.m         | 17 ++++++++++-------
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/crpptbx/TCV/gdat_tcv.m b/crpptbx/TCV/gdat_tcv.m
index ea4ed7ad..0761ac11 100644
--- a/crpptbx/TCV/gdat_tcv.m
+++ b/crpptbx/TCV/gdat_tcv.m
@@ -1219,6 +1219,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
     
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    case {'sxr', 'mpx'}
+
     if strcmp(data_request_eff,'mpx')
       data_request_eff = 'mpx'; % mpx chosen through parameter 'source' within 'sxr'
       gdat_data.data_request = data_request_eff;
diff --git a/crpptbx/gdat.m b/crpptbx/gdat.m
index 5d40f667..37dd7ef1 100644
--- a/crpptbx/gdat.m
+++ b/crpptbx/gdat.m
@@ -77,6 +77,7 @@ if nargin>2
   end
 end
 
+gdat_data.data = [];
 % construct default parameters structure
 gdat_params.data_request = '';
 fusion_machine_defaultname=getenv('FUSION_MACHINE_DEFAULTNAME');
@@ -122,6 +123,7 @@ gdat_path = mfilename('fullpath');
 eval(['addpath ' gdat_path(1:end-4) upper(machine_eff)]);
 
 % copy gdat present call:
+gdat_data.gdat_call = [];
 if nargin==0
   subcall=['gdat;'];
 elseif nargin>=1
@@ -150,7 +152,15 @@ elseif nargin>=1
   subcall = [subcall ');'];
 end
 
+gdat_data.gdat_call = [subcall ' % nargout = ' num2str(nargout)];
+gdat_data.gdat_params = gdat_params;
+if ~isfield(gdat_data.gdat_params,'doplot')
+  gdat_data.gdat_params.doplot = 0;
+end
+
 % Note: would need to check nargout to make call consistent, but to avoid this, each gdat_xxx should return at least an empty varargout: varargout{1}=cell(1);
+% copy subcall here so is last subnode
+
 try
   if nargin==0
     eval(['[gdat_data,gdat_params,error_status,varargout] = gdat_' lower(machine_eff) ';']);
@@ -166,13 +176,6 @@ catch
   return
 end
 
-% copy subcall here so is last subnode
-gdat_data.gdat_call = [subcall ' % nargout = ' num2str(nargout)];
-
-if ~isfield(gdat_data.gdat_params,'doplot')
-  gdat_data.gdat_params.doplot = 0;
-end
-
 if gdat_data.gdat_params.doplot
   % plot gdat_data versus 1st dim by default, if nb_dims<=2, otherwise do not plot
   if length(varargout)==0 || isempty(varargout{1})
-- 
GitLab