From 4faba02956da1049fdd33e3a0c5df275ac230358 Mon Sep 17 00:00:00 2001 From: Guilherme Maciel Ferreira Date: Tue, 6 Sep 2011 23:39:08 -0300 Subject: [PATCH] Make the ping-protocol option case insensitive --- src/host/pingprotocol.cpp | 11 +++++++++-- src/host/pingprotocol.h | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/host/pingprotocol.cpp b/src/host/pingprotocol.cpp index 79ff9c5..1c59131 100644 --- a/src/host/pingprotocol.cpp +++ b/src/host/pingprotocol.cpp @@ -20,6 +20,7 @@ on this file might be covered by the GNU General Public License. #include "host/pingprotocol.h" +#include #include #include @@ -28,13 +29,19 @@ using namespace std; map protocol_string_map; -PingProtocol get_ping_protocol_from_string( string protocol_string ) +PingProtocol get_ping_protocol_from_string( const string protocol_string ) { BOOST_ASSERT( !protocol_string.empty() ); + // convert to uppercase to allow the protocol to be case insensitive + string protocol_uppercase_string( protocol_string ); + transform( protocol_string.begin(), protocol_string.end(), + protocol_uppercase_string.begin(), + ::toupper ); + // TODO move to an init method protocol_string_map[ "ICMP" ] = PingProtocol_ICMP; protocol_string_map[ "TCP" ] = PingProtocol_TCP; - return protocol_string_map[ protocol_string ]; + return protocol_string_map[ protocol_uppercase_string ];; } diff --git a/src/host/pingprotocol.h b/src/host/pingprotocol.h index ebbcccc..0167aea 100644 --- a/src/host/pingprotocol.h +++ b/src/host/pingprotocol.h @@ -31,6 +31,6 @@ enum PingProtocol PingProtocol_Last = PingProtocol_TCP }; -PingProtocol get_ping_protocol_from_string( std::string protocol_string ); +PingProtocol get_ping_protocol_from_string( const std::string protocol_string ); #endif /* PINGPROTOCOL_H */ -- 1.7.1