fix uncommon bug in parsing dynare command line options
previously, `nopathchange` and `nopreprocessoroutput` were set even if they were values instead of option names. `nopathchange` would further remove all options that contained `'nopathchange'` e.g. `dynare example1.mod savemacro=nopathchange` would erroneously set `nopathchange` to true and would delete the `savemacro` option altogether In the fix, just check that the match starts in position 1 as, if the argument passed is longer than the matching pattern (e.g. nopathchangee), the preprocessor will stop processing with a usage errortime-shift
parent
2184195826
commit
3a223e9c08
|
@ -51,15 +51,12 @@ change_path_flag = true;
|
|||
% Filter out some options.
|
||||
preprocessoroutput = true;
|
||||
if nargin>1
|
||||
id = strfind(varargin,'nopathchange');
|
||||
if ~all(cellfun(@isempty, id))
|
||||
id = ismember(varargin, 'nopathchange');
|
||||
if any(id)
|
||||
change_path_flag = false;
|
||||
varargin(cellfun(@isempty, id) == 0) = [];
|
||||
end
|
||||
id = strfind(varargin, 'nopreprocessoroutput');
|
||||
if ~all(cellfun(@isempty, id))
|
||||
preprocessoroutput = false;
|
||||
varargin(id) = [];
|
||||
end
|
||||
preprocessoroutput = ~ismember('nopreprocessoroutput', varargin);
|
||||
end
|
||||
|
||||
% Check matlab path
|
||||
|
|
Loading…
Reference in New Issue