Diffstat (limited to 'noncore/settings/networksettings2/networksettings2/GUIUtils.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/networksettings2/GUIUtils.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/noncore/settings/networksettings2/networksettings2/GUIUtils.cpp b/noncore/settings/networksettings2/networksettings2/GUIUtils.cpp new file mode 100644 index 0000000..a98c303 --- a/dev/null +++ b/noncore/settings/networksettings2/networksettings2/GUIUtils.cpp @@ -0,0 +1,27 @@ +#include <qstringlist.h> +#include "GUIUtils.h" + +bool validIP( const QString & S ) { + + QStringList SL = QStringList::split( '.', S, TRUE ); + if( SL.count() != 4 ) + return 0; + + for( int i = 0; i < 4 ; i ++ ) { + if( SL[i].isEmpty() ) + return 0; + } + + short x = SL[0].toShort(); + + if( x < 1 || x > 255 ) + return 0; + + for( int i = 1; i < 4 ; i ++ ) { + x = SL[i].toShort(); + if( x < 0 || x > 255 ) + return 0; + } + return 1; + +} |