From af3dd999e277bf8a66ea73b43b093a73cb0804f1 Mon Sep 17 00:00:00 2001 From: Jonathan Turner Date: Wed, 29 Nov 2023 09:56:07 -0500 Subject: [PATCH] I know it doesnt work. --- Part3/09_memory/kernel/kernel.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Part3/09_memory/kernel/kernel.c b/Part3/09_memory/kernel/kernel.c index b2b2daa..e78ea74 100644 --- a/Part3/09_memory/kernel/kernel.c +++ b/Part3/09_memory/kernel/kernel.c @@ -39,7 +39,11 @@ if (sstrlen(input, 15) > 4) { char *number = input + 4; u32 result = digit_conver(number); - if (result < 10000 || result == -1) { + int nDigits = floor(log10(abs(result))) + 1; + if (sstrlen(*number, 15) > nDigits + 4) { + kprint("There is a limit"); + } + if (result < 10000) { kprint("That memory address is reserved by the Kernel, addresses must be 10000+"); } else { umem_head = add_node( umem_head, result, 0x100, true, global_id++); @@ -120,8 +124,7 @@ int digit = (hexChar >= '0' && hexChar <= '9') ? (hexChar - '0') : (10 + (hexChar - 'A')); result = result * 16 + digit; } else { - kprint("Invalid hex input\n"); - return -1; + break; } hexString++; }