mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
9c60701e4f
ANSI compatible strtol and strtoul, and ANSI styled other functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
26 lines
436 B
C
26 lines
436 B
C
/* public domain rewrite of strtol(3) */
|
|
|
|
#include <ctype.h>
|
|
|
|
long
|
|
strtol(const char *nptr, char **endptr, int base)
|
|
{
|
|
long result;
|
|
const 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 = (char *)nptr;
|
|
}
|
|
return result;
|
|
}
|