git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dynamic memory manager (malloc & free)
[lunaix-os.git]
/
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 d7920b4354b7f6023e8426af211e0ee4826675c5..affc2f5fe6f3d4f969485feb3184a08427f3c73d 100644
(file)
--- 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;
__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++;
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) {
}
str[ptr] = '\0';
if (size) {