|
|
In official releases of POV-Ray since v3.7, where we get ini or flag
parsing errors, the output looks something like:
Problem with option setting
<install dir>/bin/povray try
Failed to parse command-line option
For some years yuqk has done better in that it spits out more detail -
though I have no idea what fix or change over time made that so!
That said, while the yuqk output had more useful information about the
actual problem, it contained duplicate messages and some of those
messages were mangled in a way indicating a string handling (or thread
safety?) issue.
I've traced the duplication and string mangling to:
class vfeProcessRenderOptions : public ProcessRenderOptions // (*)
if vfe/vfe.h. More specifically to these message related methods:
virtual void ParseError(const char *, ...) override;
virtual void ParseErrorAt(ITextStream *, const char *, ...) override;
virtual void WriteError(const char *, ...) override;
All three methods contain the following three lines:
m_Session->AppendStatusMessage(str);
m_Session->AppendErrorMessage(str, file->name(), file->line(), 0);
m_Session->SetFailed();
Comment the first one to fix the duplicate messages to the unix / linux
terminal. Basically, the status and error messages are both ending up as
outputs to the terminal with strange ordering - where, probably, in
windows they do not. Eliminating the duplicates appears to have fixed
the message mangling too where parts and pieces getting blended.
// Causes mangled duplicate messages to unix terminal
// m_Session->AppendStatusMessage(str);
m_Session->AppendErrorMessage(str, file->name(), file->line(), 0);
m_Session->SetFailed();
(*) - Yep, there is some oddness in vfeProcessRenderOptions over-ridding
complete, unix compatible, methods in the ProcessRenderOptions class for
methods less workable. Not dug inot why the situation is as it is. There
is likely a some cleaner solution, but for now I'm taking what I can get
quickly.
Aside: Attempts at cleaner output using '\n' in the strings passed to
the vfeProcessRenderOptions continue to cause problems - so the output
below not as 'pretty' as it could be.
For same error as what tripped the short message above, yuqk now kicks out:
Possible unquoted string with spaces in INI file. Use " or ' to quote.
Cannot open INI file 'txt'.
Cannot continue to process INI file: 'boom.ini' due to a parse error in
line 3.
Cannot continue to process INI file: 'try' due to a parse error in line 7.
Problem with option setting
<install dir>/bin/povray try
Failed to parse command-line option
Bill P.
Post a reply to this message
|
|