mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
a36e0c78c9
to appear in singleton method body. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
29 lines
448 B
C
29 lines
448 B
C
/* public domain rewrite of strtol(3) */
|
|
|
|
#include <ctype.h>
|
|
|
|
long
|
|
strtol(nptr, endptr, base)
|
|
char *nptr;
|
|
char **endptr;
|
|
int base;
|
|
{
|
|
long result;
|
|
char *p = nptr;
|
|
|
|
while (isspace(*p)) {
|
|
p++;
|
|
}
|
|
if (*p == '-') {
|
|
p++;
|
|
result = -strtoul(p, endptr, base);
|
|
}
|
|
else {
|
|
if (*p == '+') p++;
|
|
result = strtoul(p, endptr, base);
|
|
}
|
|
if (endptr != 0 && *endptr == p) {
|
|
*endptr = nptr;
|
|
}
|
|
return result;
|
|
}
|