diff --git a/src/main.cc b/src/main.cc index 70a1d8e4e9..37acbdeaeb 100644 --- a/src/main.cc +++ b/src/main.cc @@ -740,6 +740,20 @@ int main(int argc, char** argv) } #endif + if ( generate_documentation ) + { + std::list::iterator it; + + for ( it = docs_generated.begin(); it != docs_generated.end(); ++it ) + (*it)->WriteDocFile(); + + for ( it = docs_generated.begin(); it != docs_generated.end(); ++it ) + delete *it; + + terminate_bro(); + return 0; + } + if ( nerr > 0 ) { delete dns_mgr; @@ -975,20 +989,6 @@ int main(int argc, char** argv) mgr.Drain(); - if ( generate_documentation ) - { - std::list::iterator it; - - for ( it = docs_generated.begin(); it != docs_generated.end(); ++it ) - (*it)->WriteDocFile(); - - for ( it = docs_generated.begin(); it != docs_generated.end(); ++it ) - delete *it; - - terminate_bro(); - return 0; - } - have_pending_timers = ! reading_traces && timer_mgr->Size() > 0; if ( io_sources.Size() > 0 || have_pending_timers )