From: Russ Combs (rucombs) Date: Wed, 8 Dec 2021 15:31:35 +0000 (+0000) Subject: Pull request #3197: daq: sort --daq-list output by module name X-Git-Tag: 3.1.19.0~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=70517130ab343f1b5b39b1244fe0689ab328d450;p=thirdparty%2Fsnort3.git Pull request #3197: daq: sort --daq-list output by module name Merge in SNORT/snort3 from ~RUCOMBS/snort3:daq_list to master Squashed commit of the following: commit 713ac22525d91453869509423f5ae08fcea7d61d Author: russ Date: Fri Nov 26 09:15:32 2021 -0500 daq: sort --daq-list output by module name --- diff --git a/src/packet_io/sfdaq.cc b/src/packet_io/sfdaq.cc index 8a23f2a1a..fe61e4b89 100644 --- a/src/packet_io/sfdaq.cc +++ b/src/packet_io/sfdaq.cc @@ -27,6 +27,9 @@ #include +#include +#include + #include "log/messages.h" #include "main/snort_config.h" @@ -83,14 +86,26 @@ void SFDAQ::unload() void SFDAQ::print_types(ostream& ostr) { - DAQ_Module_h module = daq_modules_first(); + DAQ_Module_h mod = daq_modules_first(); - if (module) + if (mod) ostr << "Available DAQ modules:" << endl; else ostr << "No available DAQ modules (try adding directories with --daq-dir)." << endl; - while (module) + std::vector modules; + + while (mod) + { + modules.push_back(mod); + mod = daq_modules_next(); + } + + std::sort(modules.begin(), modules.end(), + [](DAQ_Module_h a, DAQ_Module_h b) + { return strcmp(daq_module_get_name(a), daq_module_get_name(b)) < 0; }); + + for ( auto module : modules ) { ostr << daq_module_get_name(module) << "(v" << daq_module_get_version(module) << "):"; @@ -131,8 +146,6 @@ void SFDAQ::print_types(ostream& ostr) ostr << "- " << var_desc_table[i].description << endl; } } - - module = daq_modules_next(); } }