summaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
authorDenys Vlasenko2009-09-23 17:17:53 +0200
committerDenys Vlasenko2009-09-23 17:17:53 +0200
commit1f27ab0d4bb65425496ff4ed0fbbd0f5bb32786f (patch)
treea7181ba3c498570257040c8663f125938ecad0a6 /miscutils
parent8d338173a4668740b1ab4a40d1d26cd25402e406 (diff)
downloadbusybox-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.c10
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 */
}
/*