+++ /dev/null
-#include <stddef.h>
-#include <stdlib.h>
-
-char base_char[] = "0123456789abcdefghijklmnopqrstuvwxyz";
-
-char*
-__uitoa_internal(unsigned int value, char* str, int base, unsigned int* size)
-{
- unsigned int ptr = 0;
- do {
- str[ptr] = base_char[value % base];
- value = value / base;
- ptr++;
- } while (value);
-
- for (unsigned int i = 0; i < (ptr >> 1); i++) {
- char c = str[i];
- str[i] = str[ptr - i - 1];
- str[ptr - i - 1] = c;
- }
- str[ptr] = '\0';
- if (size) {
- *size = ptr;
- }
- return str;
-}
-
-char*
-__itoa_internal(int value, char* str, int base, unsigned int* size)
-{
- if (value < 0 && base == 10) {
- str[0] = '-';
- unsigned int _v = (unsigned int)(-value);
- __uitoa_internal(_v, str + 1, base, size);
- } else {
- __uitoa_internal(value, str, base, size);
- }
-
- return str;
-}
-
-char*
-itoa(int value, char* str, int base)
-{
- return __itoa_internal(value, str, base, NULL);
-}
\ No newline at end of file