X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/cd09c4b222e4ddf45a42522563ae2471a829d1c8..4c6d990440cdba6c7dd294adb7e435770ffcbcc4:/lunaix-os/libs/libc/stdlib/itoa.c diff --git a/lunaix-os/libs/libc/stdlib/itoa.c b/lunaix-os/libs/libc/stdlib/itoa.c index d7920b4..affc2f5 100644 --- a/lunaix-os/libs/libc/stdlib/itoa.c +++ b/lunaix-os/libs/libc/stdlib/itoa.c @@ -8,22 +8,16 @@ char* __uitoa_internal(unsigned int value, char* str, int base, unsigned int* size) { unsigned int ptr = 0; - if (value == 0) { - str[0] = '0'; + do { + str[ptr] = base_char[value % base]; + value = value / base; ptr++; - } else { - while (value) { - str[ptr] = base_char[value % base]; - value = value / base; - ptr++; - } - - for (unsigned int i = 0; i < (ptr >> 1); i++) { - char c = str[i]; - str[i] = str[ptr - i - 1]; - str[ptr - i - 1] = c; - } + } 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) {