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

View File

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