Add a Reporter::fatal BIF.

This can be used from a Bro script to cause Bro to exit with non-zero
status and a message to stderr.  Uses of the exit() BIF in scripts
for terminating Bro because of an error were replaced with this one,
which addresses #564.
This commit is contained in:
Jon Siwek 2011-08-25 13:13:39 -05:00
parent 562abfb0d1
commit 31e70e447d
4 changed files with 12 additions and 5 deletions

View file

@ -28,3 +28,11 @@ function Reporter::error%(msg: string%): bool
reporter->PopLocation();
return new Val(1, TYPE_BOOL);
%}
function Reporter::fatal%(msg: string%): bool
%{
reporter->PushLocation(frame->GetCall()->GetLocationInfo());
reporter->FatalError("%s", msg->CheckString());
reporter->PopLocation();
return new Val(1, TYPE_BOOL);
%}