diff mbox series

[iproute2-next] utils: move parse_percent() to tc_util

Message ID e9e070178cdd26588800b43938647b7b338c2142.1561737608.git.aclaudi@redhat.com
State Accepted
Delegated to: David Ahern
Headers show
Series [iproute2-next] utils: move parse_percent() to tc_util | expand

Commit Message

Andrea Claudi June 28, 2019, 4:03 p.m. UTC
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>
---
 include/utils.h |  1 -
 lib/utils.c     | 16 ----------------
 tc/tc_util.c    | 16 ++++++++++++++++
 tc/tc_util.h    |  1 +
 4 files changed, 17 insertions(+), 17 deletions(-)

Comments

David Ahern June 28, 2019, 11:07 p.m. UTC | #1
On 6/28/19 10:03 AM, Andrea Claudi wrote:
> 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>
> ---
>  include/utils.h |  1 -
>  lib/utils.c     | 16 ----------------
>  tc/tc_util.c    | 16 ++++++++++++++++
>  tc/tc_util.h    |  1 +
>  4 files changed, 17 insertions(+), 17 deletions(-)
> 

applied to iproute2-next. Thanks
diff mbox series

Patch

diff --git a/include/utils.h b/include/utils.h
index ec0231f9772d0..1d9c11276bbe6 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 be0f11b00280d..5da9a47848966 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 e5d15281581df..53d15e08e9734 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 825fea36a0809..eb4b60db3fdd7 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,