summaryrefslogtreecommitdiff
path: root/src/utils/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/string.c')
-rw-r--r--src/utils/string.c21
1 files changed, 21 insertions, 0 deletions
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 <stdint.h>
#include <string.h>
@@ -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));
+}