*: 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>
This commit is contained in:
@@ -88,7 +88,7 @@ int rtnl_rtntype_a2n(int *id, char *arg)
|
||||
res = RTN_THROW;
|
||||
else {
|
||||
res = strtoul(arg, &end, 0);
|
||||
if (!end || end == arg || *end || res > 255)
|
||||
if (end == arg || *end || res > 255)
|
||||
return -1;
|
||||
}
|
||||
*id = res;
|
||||
|
||||
@@ -22,6 +22,7 @@ unsigned get_unsigned(char *arg, const char *errmsg)
|
||||
|
||||
if (*arg) {
|
||||
res = strtoul(arg, &ptr, 0);
|
||||
//FIXME: "" will be accepted too, is it correct?!
|
||||
if (!*ptr && res <= UINT_MAX) {
|
||||
return res;
|
||||
}
|
||||
@@ -36,6 +37,7 @@ uint32_t get_u32(char *arg, const char *errmsg)
|
||||
|
||||
if (*arg) {
|
||||
res = strtoul(arg, &ptr, 0);
|
||||
//FIXME: "" will be accepted too, is it correct?!
|
||||
if (!*ptr && res <= 0xFFFFFFFFUL) {
|
||||
return res;
|
||||
}
|
||||
@@ -50,6 +52,7 @@ uint16_t get_u16(char *arg, const char *errmsg)
|
||||
|
||||
if (*arg) {
|
||||
res = strtoul(arg, &ptr, 0);
|
||||
//FIXME: "" will be accepted too, is it correct?!
|
||||
if (!*ptr && res <= 0xFFFF) {
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ static int get_qdisc_handle(__u32 *h, const char *str) {
|
||||
if (p == str)
|
||||
return 1;
|
||||
maj <<= 16;
|
||||
if (*p != ':' && *p!=0)
|
||||
if (*p != ':' && *p != '\0')
|
||||
return 1;
|
||||
ok:
|
||||
*h = maj;
|
||||
@@ -119,7 +119,8 @@ static int get_tc_classid(__u32 *h, const char *str) {
|
||||
maj <<= 16;
|
||||
str = p + 1;
|
||||
min = strtoul(str, &p, 16);
|
||||
if (*p != 0 || min >= (1<<16))
|
||||
//FIXME: check for "" too?
|
||||
if (*p != '\0' || min >= (1<<16))
|
||||
return 1;
|
||||
maj |= min;
|
||||
} else if (*p != 0)
|
||||
|
||||
Reference in New Issue
Block a user