diff --git a/include/utils.h b/include/utils.h index ec0231f9..1d9c1127 100644 --- a/include/utils.h +++ b/include/utils.h @@ -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); diff --git a/lib/utils.c b/lib/utils.c index be0f11b0..5da9a478 100644 --- a/lib/utils.c +++ b/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') diff --git a/tc/tc_util.c b/tc/tc_util.c index e5d15281..53d15e08 100644 --- a/tc/tc_util.c +++ b/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) { diff --git a/tc/tc_util.h b/tc/tc_util.h index 825fea36..eb4b60db 100644 --- a/tc/tc_util.h +++ b/tc/tc_util.h @@ -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,