From e6122f465cd8b8eebcc2657321cf7cf5732408a8 Mon Sep 17 00:00:00 2001 From: A404M Date: Thu, 30 Jan 2025 04:50:11 +0330 Subject: added global variables (not constants) --- src/utils/string.c | 21 +++++++++++++++++++++ src/utils/string.h | 1 + 2 files changed, 22 insertions(+) (limited to 'src/utils') diff --git a/src/utils/string.c b/src/utils/string.c index e01d1b6..5f9b7de 100644 --- a/src/utils/string.c +++ b/src/utils/string.c @@ -1,4 +1,5 @@ #include "string.h" +#include "memory.h" #include #include @@ -30,3 +31,23 @@ uint64_t decimalToU64(char *str_begin, char *str_end, bool *success) { *success = true; return result; } + +char *u64ToString(uint64_t value) { + char *str = a404m_malloc(21 * sizeof(*str)); + size_t i = 0; + + do { + str[i] = (value % 10) + '0'; + value /= 10; + ++i; + } while (value != 0); + + for (size_t j = 0; j < i / 2; ++j) { + char tmp = str[j]; + str[j] = str[i - j - 1]; + str[i - j - 1] = tmp; + } + str[i] = '\0'; + + return a404m_realloc(str, (i + 1) * sizeof(*str)); +} diff --git a/src/utils/string.h b/src/utils/string.h index 7d0a5c8..8f92bc4 100644 --- a/src/utils/string.h +++ b/src/utils/string.h @@ -7,3 +7,4 @@ 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); +char* u64ToString(uint64_t value); -- cgit v1.2.3