- Added 'append' switches and modified gui behaviour correspondingly.
This commit is contained in:
parent
8c397d984e
commit
7786e0d65f
Binary file not shown.
Binary file not shown.
@ -162,7 +162,7 @@ class Scyther(object):
|
|||||||
self.cmd = "\"%s\"" % self.program
|
self.cmd = "\"%s\"" % self.program
|
||||||
if self.xml:
|
if self.xml:
|
||||||
self.cmd += " --dot-output --xml-output --plain"
|
self.cmd += " --dot-output --xml-output --plain"
|
||||||
self.cmd += " --errors=%s" % (errorfile.name)
|
self.cmd += " --append-errors=%s" % (errorfile.name)
|
||||||
self.cmd += " " + self.options
|
self.cmd += " " + self.options
|
||||||
|
|
||||||
# Start the process, push input, get output
|
# Start the process, push input, get output
|
||||||
@ -171,6 +171,7 @@ class Scyther(object):
|
|||||||
stdin.write(self.spdl)
|
stdin.write(self.spdl)
|
||||||
stdin.close()
|
stdin.close()
|
||||||
output = stdout.read()
|
output = stdout.read()
|
||||||
|
stdout.close()
|
||||||
|
|
||||||
# get errors
|
# get errors
|
||||||
# filter out any non-errors (say maybe only claim etc) and count
|
# filter out any non-errors (say maybe only claim etc) and count
|
||||||
@ -184,7 +185,6 @@ class Scyther(object):
|
|||||||
self.errorcount = len(self.errors)
|
self.errorcount = len(self.errors)
|
||||||
|
|
||||||
# close
|
# close
|
||||||
stdout.close()
|
|
||||||
errorfile.close()
|
errorfile.close()
|
||||||
|
|
||||||
if self.xml:
|
if self.xml:
|
||||||
|
@ -1298,13 +1298,61 @@ switcher (const int process, int index, int commandline)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (detect (' ', "append-output", 1))
|
||||||
|
{
|
||||||
|
if (!process)
|
||||||
|
{
|
||||||
|
helptext (" --append-output=<FILE>",
|
||||||
|
"append output file [stdout]");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set output file name
|
||||||
|
/* try to open */
|
||||||
|
if (!freopen (arg_pointer, "a", stdout))
|
||||||
|
{
|
||||||
|
printfstderr ("Could not create output file '%s'.\n",
|
||||||
|
arg_pointer);
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
arg_next ();
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (detect (' ', "errors", 1))
|
if (detect (' ', "errors", 1))
|
||||||
{
|
{
|
||||||
if (!process)
|
if (!process)
|
||||||
{
|
{
|
||||||
if (switches.expert)
|
if (switches.expert)
|
||||||
{
|
{
|
||||||
helptext (" --errors=<FILE>", "append errors to file [stderr]");
|
helptext (" --errors=<FILE>",
|
||||||
|
"write errors to file [stderr]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set output file name
|
||||||
|
/* try to open */
|
||||||
|
if (!freopen (arg_pointer, "w", stderr))
|
||||||
|
{
|
||||||
|
printfstderr ("Could not create error file '%s'.\n",
|
||||||
|
arg_pointer);
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
arg_next ();
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (detect (' ', "append-errors", 1))
|
||||||
|
{
|
||||||
|
if (!process)
|
||||||
|
{
|
||||||
|
if (switches.expert)
|
||||||
|
{
|
||||||
|
helptext (" --append-errors=<FILE>",
|
||||||
|
"append errors to file [stderr]");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1313,7 +1361,7 @@ switcher (const int process, int index, int commandline)
|
|||||||
/* try to open */
|
/* try to open */
|
||||||
if (!freopen (arg_pointer, "a", stderr))
|
if (!freopen (arg_pointer, "a", stderr))
|
||||||
{
|
{
|
||||||
printfstderr ("Could not create error file '%s'.\n",
|
printfstderr ("Could not create append error file '%s'.\n",
|
||||||
arg_pointer);
|
arg_pointer);
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user