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
Virtual memory & paging
[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 3d0699ef9f51b8ed1187d0e8099a942de7b75234..d7920b4354b7f6023e8426af211e0ee4826675c5 100644
(file)
--- a/
lunaix-os/libs/libc/stdlib/itoa.c
+++ b/
lunaix-os/libs/libc/stdlib/itoa.c
@@
-1,4
+1,5
@@
#define __LUNAIX_LIBC
#define __LUNAIX_LIBC
+#include <stddef.h>
#include <libc/stdlib.h>
char base_char[] = "0123456789abcdefghijklmnopqrstuvwxyz";
#include <libc/stdlib.h>
char base_char[] = "0123456789abcdefghijklmnopqrstuvwxyz";
@@
-35,10
+36,8
@@
char*
__itoa_internal(int value, char* str, int base, unsigned int* size)
{
if (value < 0 && base == 10) {
__itoa_internal(int value, char* str, int base, unsigned int* size)
{
if (value < 0 && base == 10) {
- unsigned int msk = value >> 31;
- // evil bit level hack for abs()
- unsigned int _v = (unsigned int)((value + msk) ^ msk);
str[0] = '-';
str[0] = '-';
+ unsigned int _v = (unsigned int)(-value);
__uitoa_internal(_v, str + 1, base, size);
} else {
__uitoa_internal(value, str, base, size);
__uitoa_internal(_v, str + 1, base, size);
} else {
__uitoa_internal(value, str, base, size);
@@
-50,5
+49,5
@@
__itoa_internal(int value, char* str, int base, unsigned int* size)
char*
itoa(int value, char* str, int base)
{
char*
itoa(int value, char* str, int base)
{
- return __itoa_internal(value, str, base,
(void*)0
);
+ return __itoa_internal(value, str, base,
NULL
);
}
\ No newline at end of file
}
\ No newline at end of file