From fc921155970689719406398e139e807fef677ffa Mon Sep 17 00:00:00 2001 From: Valentino Orlandi Date: Sun, 21 Jan 2024 21:08:34 +0100 Subject: [PATCH] Code improvements Improved Craplog methods to handle the elements of the warnlists/ blacklists --- logdoctor/modules/craplog/craplog.cpp | 80 ++++++++------------------- 1 file changed, 24 insertions(+), 56 deletions(-) diff --git a/logdoctor/modules/craplog/craplog.cpp b/logdoctor/modules/craplog/craplog.cpp index b7ccf04d..67455856 100644 --- a/logdoctor/modules/craplog/craplog.cpp +++ b/logdoctor/modules/craplog/craplog.cpp @@ -183,90 +183,58 @@ void Craplog::warnlistAdd( const unsigned& web_server_id, const int& log_field_i void Craplog::blacklistRemove( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept { auto& list = this->blacklists.at( web_server_id ).at( log_field_id ).list; - // move the item to the end, then pop it - const size_t max{ list.size()-1ul }; - for ( size_t i{0}; iwarnlists.at( web_server_id ).at( log_field_id ).list; - // move the item to the end, then pop it - const size_t max{ list.size()-1ul }; - for ( size_t i{0}; iblacklists.at( web_server_id ).at( log_field_id ).list; - size_t i{ 1 }; - const size_t max{ list.size() }; - for ( ; i( std::distance(list.begin(), it) ) - 1 }; + std::swap( *it, *std::prev(it) ); + return pos; } - return static_cast( i ); + return -1; } int Craplog::warnlistMoveUp( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept { auto& list = this->warnlists.at( web_server_id ).at( log_field_id ).list; - size_t i{ 1 }; - const size_t max{ list.size() }; - for ( ; i( std::distance(list.begin(), it) ) - 1 }; + std::swap( *it, *std::prev(it) ); + return pos; } - return static_cast( i ); + return -1; } int Craplog::blacklistMoveDown( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept { auto& list = this->blacklists.at( web_server_id ).at( log_field_id ).list; - size_t i{ 0 }; - const size_t max{ list.size()-1ul }; - for ( ; i( std::distance(list.begin(), it) ) + 1 }; + std::swap( *it, *std::next(it) ); + return pos; } - return static_cast( i ); + return -1; } int Craplog::warnlistMoveDown( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept { auto& list = this->warnlists.at( web_server_id ).at( log_field_id ).list; - size_t i{ 0 }; - const size_t max{ list.size()-1ul }; - for ( ; i( std::distance(list.begin(), it) ) + 1 }; + std::swap( *it, *std::next(it) ); + return pos; } - return static_cast( i ); + return -1; } std::string Craplog::sanitizeBWitem( const int& log_field_id, const std::string& new_item ) const