40 lines
604 B
C
40 lines
604 B
C
|
// 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);
|
||
|
}
|