From f258ffbfbc7f71d7a5d8d928c0d0f2efcc2e714a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= Date: Mon, 24 Jun 2013 15:23:28 +0200 Subject: [PATCH] Check the name of the data file in @dynSeries/save method (do not erase the original data file). --- matlab/@dynSeries/save.m | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/matlab/@dynSeries/save.m b/matlab/@dynSeries/save.m index f2ea10a69..f18d8c0f2 100644 --- a/matlab/@dynSeries/save.m +++ b/matlab/@dynSeries/save.m @@ -28,7 +28,11 @@ end switch format case 'm' - fid = fopen([basename, '.m'],'w'); + if exist([basename, '.m'],'file') + fid = fopen([basename, '.new', '.m'],'w'); + else + fid = fopen([basename, '.m'],'w'); + end fprintf(fid,'%% File created on %s.\n',datestr(now)); fprintf(fid,'\n'); fprintf(fid,'FREQ__ = %s;\n',num2str(A.freq)); @@ -66,9 +70,18 @@ switch format str = [str, A.name{v} ' = A.data(:,' num2str(v) ');' ]; end eval(str); - save([basename '.mat'],'INIT__','FREQ__','NAMES__','TEX__',A.name{:}); + if exist([basename, '.mat'],'file') + save([basename '.new.mat'],'INIT__','FREQ__','NAMES__','TEX__',A.name{:}); + else + save([basename '.mat'],'INIT__','FREQ__','NAMES__','TEX__',A.name{:}); + end + case 'csv' - fid = fopen([basename, '.csv'],'w'); + if exist([basename, '.csv'],'file') + fid = fopen([basename, '.new', '.csv'],'w'); + else + fid = fopen([basename, '.csv'],'w'); + end fprintf(fid,', %s', A.name{:}); fprintf(fid,'\n'); for t=1:A.nobs