fixed closing bug in tarmode

This commit is contained in:
Michael Stumpf 2018-11-27 14:22:26 +01:00
parent 0e1b24d0e9
commit 34a6c9fe29
2 changed files with 17 additions and 8 deletions

View File

@ -31,6 +31,8 @@ classdef ini < handle
parse(par,varargin{:});
obj.resetPublicProperties();
obj.resetPrivateProperties();
obj.fileID = -1;
obj.tarflag = false;
obj.setVerbosity(par.Results.verbosity);
end
function delete(obj)
@ -83,10 +85,14 @@ classdef ini < handle
function close(obj)
% obj.close()
% Closes a file.
tarmode = obj.tarflag;
obj.resetPublicProperties();
obj.resetPrivateProperties();
if obj.fileID<0 || tarmode
if obj.tarflag
obj.tarflag = false;
obj.fileID = -1;
return;
end
if obj.fileID<0
return;
end
status = fclose(obj.fileID);
@ -94,8 +100,7 @@ classdef ini < handle
warning('Error while closing: %d',status);
return;
end
obj.fileID = -1;
obj.fileID = -1;
end
function setVerbosity(obj,flag)
% obj.setVerbosity(flag)
@ -215,7 +220,6 @@ classdef ini < handle
obj.fileBeg = [];
obj.fileEnd = [];
obj.ioflag = [];
obj.tarflag = [];
obj.content = [];
end
end

View File

@ -93,6 +93,8 @@ classdef ucf < handle
obj.resetPrivateProperties();
obj.resetCurrentStep();
obj.resetCurrentSet();
obj.fileID = -1;
obj.tarflag = false;
obj.setVerbosity(par.Results.verbosity);
obj.setDebug(par.Results.debug);
end
@ -301,12 +303,16 @@ classdef ucf < handle
function close(obj)
% obj.close()
% Closes a file
tarmode = obj.tarflag;
obj.resetPublicProperties();
obj.resetPrivateProperties();
obj.resetCurrentStep();
obj.resetCurrentSet();
if obj.fileID<0 || tarmode
if obj.tarflag
obj.tarflag = false;
obj.fileID = -1;
return;
end
if obj.fileID<0
return;
end
status = fclose(obj.fileID);
@ -760,7 +766,6 @@ classdef ucf < handle
obj.fileEnd = [];
obj.typeID = [];
obj.ioflag = [];
obj.tarflag = [];
obj.creationTimeUnix = [];
obj.versionMajor = [];
obj.versionMinor = [];