mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 22:58: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;
|
||||
}
|
||||
|
||||
if ( ld->type == type )
|
||||
break;
|
||||
|
||||
if ( ! ld->factory )
|
||||
// Oops, we can't instantiate this guy.
|
||||
return 0;
|
||||
if ( ld->type != type )
|
||||
{
|
||||
// no, didn't find the right one...
|
||||
++ld;
|
||||
continue;
|
||||
}
|
||||
|
||||
// If the writer has an init function, call it.
|
||||
if ( ld->init )
|
||||
|
@ -157,17 +157,24 @@ WriterBackend* Manager::CreateBackend(WriterFrontend* frontend, bro_int_t type)
|
|||
// call it again later.
|
||||
ld->init = 0;
|
||||
else
|
||||
{
|
||||
// Init failed, disable by deleting factory
|
||||
// function.
|
||||
ld->factory = 0;
|
||||
|
||||
DBG_LOG(DBG_LOGGING, "failed to init writer class %s",
|
||||
ld->name);
|
||||
DBG_LOG(DBG_LOGGING, "failed to init writer class %s",
|
||||
ld->name);
|
||||
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
++ld;
|
||||
if ( ! ld->factory )
|
||||
// Oops, we can't instantiate this guy.
|
||||
return 0;
|
||||
|
||||
// all done. break.
|
||||
break;
|
||||
}
|
||||
|
||||
assert(ld->factory);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue