mirror of
https://github.com/zeek/zeek.git
synced 2025-10-03 15:18:20 +00:00
fix CreateBackend function - the way that the right backend was chosen & backends were initialized did not make sense...
This commit is contained in:
parent
115e6a18b4
commit
f76bbf01a4
1 changed files with 17 additions and 10 deletions
|
@ -142,12 +142,12 @@ WriterBackend* Manager::CreateBackend(WriterFrontend* frontend, bro_int_t type)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ld->type == type )
|
if ( ld->type != type )
|
||||||
break;
|
{
|
||||||
|
// no, didn't find the right one...
|
||||||
if ( ! ld->factory )
|
++ld;
|
||||||
// Oops, we can't instantiate this guy.
|
continue;
|
||||||
return 0;
|
}
|
||||||
|
|
||||||
// If the writer has an init function, call it.
|
// If the writer has an init function, call it.
|
||||||
if ( ld->init )
|
if ( ld->init )
|
||||||
|
@ -157,6 +157,7 @@ WriterBackend* Manager::CreateBackend(WriterFrontend* frontend, bro_int_t type)
|
||||||
// call it again later.
|
// call it again later.
|
||||||
ld->init = 0;
|
ld->init = 0;
|
||||||
else
|
else
|
||||||
|
{
|
||||||
// Init failed, disable by deleting factory
|
// Init failed, disable by deleting factory
|
||||||
// function.
|
// function.
|
||||||
ld->factory = 0;
|
ld->factory = 0;
|
||||||
|
@ -166,8 +167,14 @@ WriterBackend* Manager::CreateBackend(WriterFrontend* frontend, bro_int_t type)
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
++ld;
|
if ( ! ld->factory )
|
||||||
|
// Oops, we can't instantiate this guy.
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
// all done. break.
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(ld->factory);
|
assert(ld->factory);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue