From 1f27ab0d4bb65425496ff4ed0fbbd0f5bb32786f Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 23 Sep 2009 17:17:53 +0200 Subject: *: 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 --- miscutils/crond.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'miscutils/crond.c') diff --git a/miscutils/crond.c b/miscutils/crond.c index f0b64fe3a..d2104c36f 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 */ } /* -- cgit v1.2.3