summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/Network/IPAddr.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-16 19:56:21 +0200
committerGitHub <noreply@github.com>2025-08-16 19:56:21 +0200
commit1a32b9307357ac0fc9095e853b2b6d94f9fe62bb (patch)
treef41f723659c8926e38182fbe062746d821ab487e /dev/kernel/src/Network/IPAddr.cc
parenteb9df5eea339812513c25a8d3b2eeb03c633e7ac (diff)
parentb301047903b79560dce69085fc271a653a1eb4b6 (diff)
Merge pull request #55 from nekernel-org/dev
v0.0.4
Diffstat (limited to 'dev/kernel/src/Network/IPAddr.cc')
-rw-r--r--dev/kernel/src/Network/IPAddr.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/dev/kernel/src/Network/IPAddr.cc b/dev/kernel/src/Network/IPAddr.cc
index b341af8f..ec7d8a35 100644
--- a/dev/kernel/src/Network/IPAddr.cc
+++ b/dev/kernel/src/Network/IPAddr.cc
@@ -88,19 +88,23 @@ ErrorOr<KString> IPFactory::ToKString(Ref<RawIPAddress>& ipv4) {
bool IPFactory::IpCheckVersion4(const Char* ip) {
if (!ip) return NO;
- Int32 cnter = 0;
+ Int32 cnter = 0;
+ Int32 dot_cnter = 0;
for (SizeT base = 0; base < rt_string_len(ip); ++base) {
if (ip[base] == '.') {
cnter = 0;
+ ++dot_cnter;
} else {
- if (!rt_is_alnum(ip[base])) return false;
- if (cnter == 3) return false;
+ if (!rt_is_alnum(ip[base])) return NO;
+ if (cnter == 3) return NO;
++cnter;
}
}
- return true;
+ if (dot_cnter != 3) return NO;
+
+ return YES;
}
} // namespace Kernel