parent
ba889e853c
commit
cda0e03776
|
@ -102,7 +102,21 @@ for i=2:nargin
|
|||
end
|
||||
|
||||
[status, result] = system(command);
|
||||
|
||||
disp(result)
|
||||
|
||||
% Save preprocessor result in logfile (if `no_log' option not present)
|
||||
no_log = 0;
|
||||
for i=2:nargin
|
||||
no_log = no_log || strcmp(varargin{i-1}, "nolog");
|
||||
end
|
||||
if ~no_log
|
||||
logname = [ substr(fname, 1, -4) ".log" ];
|
||||
fid = fopen(logname, "w");
|
||||
fputs(fid, result);
|
||||
fclose(fid);
|
||||
end
|
||||
|
||||
if status
|
||||
% Should not use "error(result)" since message will be truncated if too long
|
||||
error('DYNARE: preprocessing failed')
|
||||
|
|
|
@ -30,6 +30,8 @@ using namespace std;
|
|||
#endif
|
||||
#include "macro/MacroDriver.hh"
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
/* Prototype for second part of main function
|
||||
Splitting main() in two parts was necessary because ParsingDriver.h and MacroDriver.h can't be
|
||||
included simultaneously (because of Bison limitations).
|
||||
|
@ -58,6 +60,13 @@ usage()
|
|||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
/*
|
||||
Redirect stderr to stdout.
|
||||
Made necessary because MATLAB/Octave can only capture stdout (but not
|
||||
stderr), in order to put it in the logfile (see issue #306)
|
||||
*/
|
||||
dup2(STDOUT_FILENO, STDERR_FILENO);
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
cerr << "Missing model file!" << endl;
|
||||
|
|
|
@ -477,11 +477,7 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all, bool no_log, b
|
|||
mOutputFile << "global_initialization;" << endl
|
||||
<< "diary off;" << endl;
|
||||
if (!no_log)
|
||||
mOutputFile << "logname_ = '" << basename << ".log';" << endl
|
||||
<< "if exist(logname_, 'file')" << endl
|
||||
<< " delete(logname_)" << endl
|
||||
<< "end" << endl
|
||||
<< "diary(logname_)" << endl;
|
||||
mOutputFile << "diary('" << basename << ".log');" << endl;
|
||||
|
||||
if (console)
|
||||
mOutputFile << "options_.console_mode = 1;" << endl
|
||||
|
|
Loading…
Reference in New Issue