-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathipv4.cpp
More file actions
40 lines (31 loc) · 945 Bytes
/
ipv4.cpp
File metadata and controls
40 lines (31 loc) · 945 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "ipv4.h"
#include <QStringList>
QString IpV4::fix(const QString &ip_text)
{
QStringList octets = ip_text.split(IpV4::octet_separator);
for (QString& octet : octets){
IpV4::Octet::fix_empty(octet);
IpV4::Octet::fix_start(octet);
}
return octets.join(IpV4::octet_separator);
}
bool IpV4::is_valid() const
{
int separators_count = m_text.count(octet_separator);
if (separators_count != norm_separators_count)
return false;
for (const QString& octet : m_text.split(octet_separator))
if (!Octet(octet).is_valid())
return false;
return true;
}
bool IpV4::is_prevalid() const
{
int separators_count = m_text.count(octet_separator);
if (separators_count != norm_separators_count)
return false;
for (const QString& octet : m_text.split(octet_separator))
if (!Octet(octet).is_prevalid())
return false;
return true;
}