diff options
author | Denys Vlasenko | 2009-09-23 17:17:53 +0200 |
---|---|---|
committer | Denys Vlasenko | 2009-09-23 17:17:53 +0200 |
commit | 1f27ab0d4bb65425496ff4ed0fbbd0f5bb32786f (patch) | |
tree | a7181ba3c498570257040c8663f125938ecad0a6 /miscutils | |
parent | 8d338173a4668740b1ab4a40d1d26cd25402e406 (diff) | |
download | busybox-1f27ab0d4bb65425496ff4ed0fbbd0f5bb32786f.zip busybox-1f27ab0d4bb65425496ff4ed0fbbd0f5bb32786f.tar.gz |
*: optimize code size in strtoul calls
function old new delta
bb_parse_mode 433 431 -2
rtnl_rtntype_a2n 202 198 -4
ParseField 511 498 -13
bb_init_module_24 4730 4675 -55
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-74) Total: -74 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'miscutils')
-rw-r--r-- | miscutils/crond.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/miscutils/crond.c b/miscutils/crond.c index f0b64fe..d2104c3 100644 --- a/miscutils/crond.c +++ b/miscutils/crond.c @@ -320,11 +320,13 @@ static void ParseField(char *user, char *ary, int modvalue, int off, skip = 1; ++ptr; } else if (isdigit(*ptr)) { + char *endp; if (n1 < 0) { - n1 = strtol(ptr, &ptr, 10) + off; + n1 = strtol(ptr, &endp, 10) + off; } else { - n2 = strtol(ptr, &ptr, 10) + off; + n2 = strtol(ptr, &endp, 10) + off; } + ptr = endp; /* gcc likes temp var for &endp */ skip = 1; } else if (names) { int i; @@ -361,7 +363,9 @@ static void ParseField(char *user, char *ary, int modvalue, int off, n2 = n1; } if (*ptr == '/') { - skip = strtol(ptr + 1, &ptr, 10); + char *endp; + skip = strtol(ptr + 1, &endp, 10); + ptr = endp; /* gcc likes temp var for &endp */ } /* |