From e4b5445b3ca844e568a84abbf931a026a6ca6226 Mon Sep 17 00:00:00 2001 From: Test_User Date: Wed, 3 May 2023 22:57:53 -0400 Subject: C HaxServ --- utils.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 utils.c (limited to 'utils.c') diff --git a/utils.c b/utils.c new file mode 100644 index 0000000..fa97087 --- /dev/null +++ b/utils.c @@ -0,0 +1,38 @@ +#include + +#include "types.h" + +uint64_t str_to_unsigned(struct string str, uint8_t *err) { + if (str.len == 0) { + *err = 1; + return 0; + } + + uint64_t val = 0; + while (str.len > 0) { + switch(str.data[0]) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + val *= 10; + val += str.data[0] - 0x30; + break; + default: + *err = 1; + return 0; + } + + str.data++; + str.len--; + } + + *err = 0; + return val; +} -- cgit v1.2.3