mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2026-01-06 18:59:38 +00:00
utils: move parse_percent() to tc_util
As parse_percent() is used only in tc. This reduces ip, bridge and genl binaries size: $ bloat-o-meter -t bridge/bridge bridge/bridge.new add/remove: 0/1 grow/shrink: 0/0 up/down: 0/-109 (-109) Total: Before=50973, After=50864, chg -0.21% $ bloat-o-meter -t genl/genl genl/genl.new add/remove: 0/1 grow/shrink: 0/0 up/down: 0/-109 (-109) Total: Before=30298, After=30189, chg -0.36% $ bloat-o-meter ip/ip ip/ip.new add/remove: 0/1 grow/shrink: 0/0 up/down: 0/-109 (-109) Total: Before=674164, After=674055, chg -0.02% Signed-off-by: Andrea Claudi <aclaudi@redhat.com> Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
1df17579d8
commit
1e5746d5e1
@ -146,7 +146,6 @@ int get_addr_rta(inet_prefix *dst, const struct rtattr *rta, int family);
|
||||
int get_addr_ila(__u64 *val, const char *arg);
|
||||
|
||||
int read_prop(const char *dev, char *prop, long *value);
|
||||
int parse_percent(double *val, const char *str);
|
||||
int get_hex(char c);
|
||||
int get_integer(int *val, const char *arg, int base);
|
||||
int get_unsigned(unsigned *val, const char *arg, int base);
|
||||
|
||||
16
lib/utils.c
16
lib/utils.c
@ -101,22 +101,6 @@ out:
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Parse a percent e.g: '30%'
|
||||
* return: 0 = ok, -1 = error, 1 = out of range
|
||||
*/
|
||||
int parse_percent(double *val, const char *str)
|
||||
{
|
||||
char *p;
|
||||
|
||||
*val = strtod(str, &p) / 100.;
|
||||
if (*val == HUGE_VALF || *val == HUGE_VALL)
|
||||
return 1;
|
||||
if (*p && strcmp(p, "%"))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int get_hex(char c)
|
||||
{
|
||||
if (c >= 'A' && c <= 'F')
|
||||
|
||||
16
tc/tc_util.c
16
tc/tc_util.c
@ -190,6 +190,22 @@ static const struct rate_suffix {
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
/* Parse a percent e.g: '30%'
|
||||
* return: 0 = ok, -1 = error, 1 = out of range
|
||||
*/
|
||||
int parse_percent(double *val, const char *str)
|
||||
{
|
||||
char *p;
|
||||
|
||||
*val = strtod(str, &p) / 100.;
|
||||
if (*val == HUGE_VALF || *val == HUGE_VALL)
|
||||
return 1;
|
||||
if (*p && strcmp(p, "%"))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int parse_percent_rate(char *rate, size_t len,
|
||||
const char *str, const char *dev)
|
||||
{
|
||||
|
||||
@ -101,6 +101,7 @@ int print_tc_classid(char *buf, int len, __u32 h);
|
||||
char *sprint_tc_classid(__u32 h, char *buf);
|
||||
|
||||
int tc_print_police(FILE *f, struct rtattr *tb);
|
||||
int parse_percent(double *val, const char *str);
|
||||
int parse_police(int *argc_p, char ***argv_p, int tca_id, struct nlmsghdr *n);
|
||||
|
||||
int parse_action_control(int *argc_p, char ***argv_p,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user