mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00

The previous way of splitting strings would break if the last string in the line was an empty string, and it would return one fewer fields than it should have. This was breaking the last line in the scripts.base.framework.input.ascii.setspecialcases once the bug fixed in GH #1628 was fixed.
47 lines
936 B
Text
47 lines
936 B
Text
# @TEST-EXEC: btest-bg-run zeek zeek -b %INPUT
|
|
# @TEST-EXEC: btest-bg-wait 10
|
|
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-sort btest-diff out
|
|
|
|
@TEST-START-FILE input.log
|
|
#separator \x09
|
|
#fields i s ss
|
|
1 testing\x2ctesting\x2ctesting\x2c testing\x2ctesting\x2ctesting\x2c
|
|
2 testing,,testing testing,,testing
|
|
3 ,testing ,testing
|
|
4 testing, testing,
|
|
5 ,,, ,,,
|
|
6
|
|
@TEST-END-FILE
|
|
|
|
|
|
redef exit_only_after_terminate = T;
|
|
|
|
global outfile: file;
|
|
|
|
module A;
|
|
|
|
type Idx: record {
|
|
i: int;
|
|
};
|
|
|
|
type Val: record {
|
|
s: set[string];
|
|
ss: vector of string;
|
|
};
|
|
|
|
global servers: table[int] of Val = table();
|
|
|
|
event zeek_init()
|
|
{
|
|
outfile = open("../out");
|
|
# first read in the old stuff into the table...
|
|
Input::add_table([$source="../input.log", $name="ssh", $idx=Idx, $val=Val, $destination=servers]);
|
|
}
|
|
|
|
event Input::end_of_data(name: string, source:string)
|
|
{
|
|
print outfile, servers;
|
|
Input::remove("ssh");
|
|
close(outfile);
|
|
terminate();
|
|
}
|