diff --git a/src/script_opt/ScriptOpt.cc b/src/script_opt/ScriptOpt.cc index ecfd939e4a..78d99ff0e5 100644 --- a/src/script_opt/ScriptOpt.cc +++ b/src/script_opt/ScriptOpt.cc @@ -146,6 +146,10 @@ void FuncInfo::SetProfile(std::shared_ptr _pf) void analyze_func(ScriptFuncPtr f) { + if ( analysis_options.only_func && + *analysis_options.only_func != f->Name() ) + return; + funcs.emplace_back(f, ScopePtr{NewRef{}, f->GetScope()}, f->CurrentBody()); } diff --git a/src/zeek-setup.cc b/src/zeek-setup.cc index bf3db660f0..51e3162c2b 100644 --- a/src/zeek-setup.cc +++ b/src/zeek-setup.cc @@ -394,6 +394,10 @@ SetupResult setup(int argc, char** argv, Options* zopts) auto options = zopts ? *zopts : parse_cmdline(argc, argv); + // Set up the global that facilitates access to analysis/optimization + // options from deep within some modules. + analysis_options = options.analysis_options; + if ( options.print_usage ) usage(argv[0], 0); @@ -748,10 +752,6 @@ SetupResult setup(int argc, char** argv, Options* zopts) } } - // Set up the global that facilitates access to analysis/optimization - // options from deep within some modules. - analysis_options = options.analysis_options; - analyze_scripts(); if ( analysis_options.report_recursive )