4c744aece3427f3da179d98df267842e3d0af254
5 _strtoi64(const char *nptr
, char **endptr
, int base
)
10 while(isspace((unsigned char)*nptr
)) nptr
++;
15 } else if(*nptr
== '+')
18 if((base
==0 || base
==16) && *nptr
=='0' && tolower(*(nptr
+1))=='x') {
31 char cur
= tolower(*nptr
);
34 if(isdigit((unsigned char)cur
)) {
39 if(cur
<'a' || cur
>='a'+base
-10)
49 if(!negative
&& (ret
>_I64_MAX
/base
|| ret
*base
>_I64_MAX
-v
)) {
52 } else if(negative
&& (ret
<_I64_MIN
/base
|| ret
*base
<_I64_MIN
-v
)) {
60 *endptr
= (char*)nptr
;