From 64331c144518b8ab1c3cf08473771e0d3f14f67b Mon Sep 17 00:00:00 2001 From: A404M Date: Mon, 27 Jan 2025 01:25:24 +0330 Subject: add print_u64 to be able to print u64 numbers --- src/utils/string.c | 18 ++++++++++++++++++ src/utils/string.h | 7 +++++-- 2 files changed, 23 insertions(+), 2 deletions(-) (limited to 'src/utils') diff --git a/src/utils/string.c b/src/utils/string.c index 81be415..e01d1b6 100644 --- a/src/utils/string.c +++ b/src/utils/string.c @@ -1,5 +1,6 @@ #include "string.h" +#include #include size_t searchInStringArray(const char *array[], size_t array_size, @@ -12,3 +13,20 @@ size_t searchInStringArray(const char *array[], size_t array_size, } return array_size; } + +uint64_t decimalToU64(char *str_begin, char *str_end, bool *success) { + uint64_t result = 0; + + while (str_begin < str_end) { + if (*str_begin < '0' || *str_begin > '9') { + *success = false; + return 0; + } + result *= 10; + result += *str_begin - '0'; + str_begin += 1; + } + + *success = true; + return result; +} diff --git a/src/utils/string.h b/src/utils/string.h index 79af8a9..7d0a5c8 100644 --- a/src/utils/string.h +++ b/src/utils/string.h @@ -1,6 +1,9 @@ #pragma once #include +#include -size_t searchInStringArray(const char *array[], size_t array_size, const char *str, - size_t str_size); +size_t searchInStringArray(const char *array[], size_t array_size, + const char *str, size_t str_size); + +uint64_t decimalToU64(char *str_begin, char *str_end, bool *success); -- cgit v1.2.3