lib: add stdlib.c
Since we need to realize standard library function other than use them with gcc tool chain in U-Boot. So add standard library function here. Change-Id: I10009c5bbe31fabacd929df3c44218ae9c6a885f Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
This commit is contained in:
parent
d6d708d1a3
commit
c46b3f6d96
|
@ -9,4 +9,6 @@
|
||||||
|
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
|
||||||
|
int atoi(const char *nptr);
|
||||||
|
|
||||||
#endif /* __STDLIB_H_ */
|
#endif /* __STDLIB_H_ */
|
||||||
|
|
|
@ -90,6 +90,7 @@ obj-y += linux_string.o
|
||||||
obj-y += membuff.o
|
obj-y += membuff.o
|
||||||
obj-$(CONFIG_REGEX) += slre.o
|
obj-$(CONFIG_REGEX) += slre.o
|
||||||
obj-y += string.o
|
obj-y += string.o
|
||||||
|
obj-y += stdlib.o
|
||||||
obj-y += tables_csum.o
|
obj-y += tables_csum.o
|
||||||
obj-y += time.o
|
obj-y += time.o
|
||||||
obj-$(CONFIG_TRACE) += trace.o
|
obj-$(CONFIG_TRACE) += trace.o
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/ctype.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
long atol(const char *nptr)
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
long total;
|
||||||
|
int sign;
|
||||||
|
|
||||||
|
while (isspace((int)(unsigned char)*nptr))
|
||||||
|
++nptr;
|
||||||
|
|
||||||
|
c = (int)(unsigned char)*nptr++;
|
||||||
|
sign = c;
|
||||||
|
if (c == '-' || c == '+')
|
||||||
|
c = (int)(unsigned char)*nptr++;
|
||||||
|
|
||||||
|
total = 0;
|
||||||
|
|
||||||
|
while (isdigit(c)) {
|
||||||
|
total = 10 * total + (c - '0');
|
||||||
|
c = (int)(unsigned char)*nptr++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sign == '-')
|
||||||
|
return -total;
|
||||||
|
else
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
|
||||||
|
int atoi(const char *nptr)
|
||||||
|
{
|
||||||
|
return (int)atol(nptr);
|
||||||
|
}
|
Loading…
Reference in New Issue