mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00

For event/hook handlers that had a previous declaration, any &default arguments are ineffective. Only &default uses in the initial prototype's arguments have an effect (that includes if the handler is actually the site at which the declaration occurs).
54 lines
1,008 B
Text
54 lines
1,008 B
Text
# @TEST-EXEC: zeek -b %INPUT >out 2>&1
|
|
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff out
|
|
|
|
global grault: event(a: string, b: string &default="B");
|
|
|
|
global foo: event(a: string, b: string, c: string &default="C");
|
|
global foo: event(c: string);
|
|
|
|
event grault(a: string, b: string &default="G")
|
|
{
|
|
print "grault", a, b;
|
|
}
|
|
|
|
event corge(c: string &default="C")
|
|
{
|
|
print "corge", c;
|
|
}
|
|
|
|
event foo(c: string &default="CCCC")
|
|
{
|
|
print "foo c", c;
|
|
}
|
|
|
|
global bar: function(a: string, b: string);
|
|
|
|
function bar(a: string &default="A", b: string &default="B")
|
|
{
|
|
print "bar", a, b;
|
|
}
|
|
|
|
global baz: function(a: string &default="A", b: string &default="B");
|
|
|
|
function baz(a: string, b: string)
|
|
{
|
|
print "baz", a, b;
|
|
}
|
|
|
|
global qux: function(a: string &default="A", b: string &default="B");
|
|
|
|
function qux(a: string &default="Q", b: string &default="Q")
|
|
{
|
|
print "qux", a, b;
|
|
}
|
|
|
|
event zeek_init()
|
|
{
|
|
bar();
|
|
baz();
|
|
qux();
|
|
event grault("A");
|
|
event corge();
|
|
event foo("A", "B");
|
|
}
|
|
|