X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fapi%2Finternal%2Fio%2FHostAddress_p.cpp;h=9d4fc97cfd357ceab1c2f96749259c911254dae9;hb=8e8ed0f0d520fa4d240ab98bd7cc0b0933777fdb;hp=aa3c9a3cece29e2165d83930b583c40c14d0e548;hpb=aace28299671f066bf2135ef28652f24fa1d8d26;p=bamtools.git diff --git a/src/api/internal/io/HostAddress_p.cpp b/src/api/internal/io/HostAddress_p.cpp index aa3c9a3..9d4fc97 100644 --- a/src/api/internal/io/HostAddress_p.cpp +++ b/src/api/internal/io/HostAddress_p.cpp @@ -15,12 +15,6 @@ using namespace std; namespace BamTools { namespace Internal { -// convenience 'isalpha' wrapper -static inline -bool isAlpha(char c) { - return ( isalpha(c) != 0 ); -} - // split a string into fields, on delimiter character static inline vector split(const string& source, char delim) { @@ -57,6 +51,13 @@ bool parseIp4(const string& address, uint32_t& maybeIp4 ) { uint32_t ipv4(0); for ( uint8_t i = 0; i < 4; ++i ) { + const string& field = addressFields.at(i); + const size_t fieldSize = field.size(); + for ( size_t j = 0; j < fieldSize; ++j ) { + if ( !isdigit(field[j]) ) + return false; + } + int value = atoi( addressFields.at(i).c_str() ); if ( value < 0 || value > 255 ) return false;