libiproute: code shrink by adding FAST_FUNC
authorDenys Vlasenko <vda.linux@googlemail.com>
Sat, 24 Jul 2010 21:27:38 +0000 (23:27 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sat, 24 Jul 2010 21:27:38 +0000 (23:27 +0200)
function                                             old     new   delta
ipaddr_list_or_flush                                1282    1293     +11
ip_parse_common_args                                 153     151      -2
ip_main                                               53      50      -3
ip_do                                                 19      15      -4
do_iptunnel                                          985     980      -5
do_iprule                                            982     977      -5
do_iplink                                           1637    1631      -6
do_iproute                                          2105    2098      -7
do_ipaddr                                           1406    1398      -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 11/-40)            Total: -29 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/ip.c
networking/libiproute/ip_common.h
networking/libiproute/ip_parse_common_args.c
networking/libiproute/ipaddress.c
networking/libiproute/iplink.c
networking/libiproute/iproute.c
networking/libiproute/iprule.c
networking/libiproute/iptunnel.c

index 3a99fa320133fe67f0f951dbea2bd35899fcb3a1..0042896676fee6e94665b15d8e40c134cf7f5973 100644 (file)
  || ENABLE_FEATURE_IP_TUNNEL \
  || ENABLE_FEATURE_IP_RULE
 
-static int ip_print_help(char **argv UNUSED_PARAM)
+static int FAST_FUNC ip_print_help(char **argv UNUSED_PARAM)
 {
        bb_show_usage();
 }
 
-typedef int (*ip_func_ptr_t)(char**);
+typedef int FAST_FUNC (*ip_func_ptr_t)(char**);
 
 static int ip_do(ip_func_ptr_t ip_func, char **argv)
 {
index aef325281f5ecc0b6101f4aa6a8e434e1d3d1219..30c7e595b59ca7ebcd609bdb29a83f595238ef8c 100644 (file)
 
 PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
 
-extern char **ip_parse_common_args(char **argv);
-extern int print_neigh(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg);
-extern int ipaddr_list_or_flush(char **argv, int flush);
-extern int iproute_monitor(char **argv);
-extern void iplink_usage(void) NORETURN;
-extern void ipneigh_reset_filter(void);
+char FAST_FUNC **ip_parse_common_args(char **argv);
+//int FAST_FUNC print_neigh(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg);
+int FAST_FUNC ipaddr_list_or_flush(char **argv, int flush);
+//int FAST_FUNC iproute_monitor(char **argv);
+//void FAST_FUNC ipneigh_reset_filter(void);
 
-extern int do_ipaddr(char **argv);
-extern int do_iproute(char **argv);
-extern int do_iprule(char **argv);
-extern int do_ipneigh(char **argv);
-extern int do_iptunnel(char **argv);
-extern int do_iplink(char **argv);
-extern int do_ipmonitor(char **argv);
-extern int do_multiaddr(char **argv);
-extern int do_multiroute(char **argv);
+int FAST_FUNC do_ipaddr(char **argv);
+int FAST_FUNC do_iproute(char **argv);
+int FAST_FUNC do_iprule(char **argv);
+//int FAST_FUNC do_ipneigh(char **argv);
+int FAST_FUNC do_iptunnel(char **argv);
+int FAST_FUNC do_iplink(char **argv);
+//int FAST_FUNC do_ipmonitor(char **argv);
+//int FAST_FUNC do_multiaddr(char **argv);
+//int FAST_FUNC do_multiroute(char **argv);
 
 POP_SAVED_FUNCTION_VISIBILITY
 
index 5e4012b81e9999a70cb89c70b9c8c13c4522bc5a..bf01528c40c8b93e2f94db7e43f5c7874fccd9d9 100644 (file)
@@ -22,7 +22,7 @@ family_t preferred_family = AF_UNSPEC;
 smallint oneline;
 char _SL_;
 
-char **ip_parse_common_args(char **argv)
+char** FAST_FUNC ip_parse_common_args(char **argv)
 {
        static const char ip_common_commands[] ALIGN1 =
                "oneline" "\0"
index 38129341292ecc3d5a80ece21dc9d95543c20cc2..b6f469d0f642b04746d92454ca073faaab182b18 100644 (file)
@@ -415,7 +415,7 @@ static void ipaddr_reset_filter(int _oneline)
 }
 
 /* Return value becomes exitcode. It's okay to not return at all */
-int ipaddr_list_or_flush(char **argv, int flush)
+int FAST_FUNC ipaddr_list_or_flush(char **argv, int flush)
 {
        static const char option[] ALIGN1 = "to\0""scope\0""up\0""label\0""dev\0";
 
@@ -747,7 +747,7 @@ static int ipaddr_modify(int cmd, char **argv)
 }
 
 /* Return value becomes exitcode. It's okay to not return at all */
-int do_ipaddr(char **argv)
+int FAST_FUNC do_ipaddr(char **argv)
 {
        static const char commands[] ALIGN1 =
                "add\0""delete\0""list\0""show\0""lst\0""flush\0";
index 8bf892797a30e67583456f0502de4df71cd8b6a6..9f9218573cc709b48293f190fa40f2001e134aaf 100644 (file)
@@ -362,7 +362,7 @@ static int do_change(char **argv, const unsigned rtm)
 }
 
 /* Return value becomes exitcode. It's okay to not return at all */
-int do_iplink(char **argv)
+int FAST_FUNC do_iplink(char **argv)
 {
        static const char keywords[] ALIGN1 =
                "add\0""delete\0""set\0""show\0""lst\0""list\0";
index d771a609b24b21abfc868379af7b39ed2f461790..8dba2bf3d2c4c59c92f02ec789196108def68691 100644 (file)
@@ -869,7 +869,7 @@ static int iproute_get(char **argv)
 }
 
 /* Return value becomes exitcode. It's okay to not return at all */
-int do_iproute(char **argv)
+int FAST_FUNC do_iproute(char **argv)
 {
        static const char ip_route_commands[] ALIGN1 =
        /*0-3*/ "add\0""append\0""change\0""chg\0"
index 835529ec486c0e38a62b471afe40d1b990c3f1db..3af6a83a8ff38f63f7fac7effad7cb36c3e6e22c 100644 (file)
@@ -304,7 +304,7 @@ static int iprule_modify(int cmd, char **argv)
 }
 
 /* Return value becomes exitcode. It's okay to not return at all */
-int do_iprule(char **argv)
+int FAST_FUNC do_iprule(char **argv)
 {
        static const char ip_rule_commands[] ALIGN1 =
                "add\0""delete\0""list\0""show\0";
index 257343826fd8b66a7352c6c34fc25bf660ce89f6..8389ef34866e2b5bdb51bf7fd272861ca67a6966 100644 (file)
@@ -556,7 +556,7 @@ static int do_show(char **argv)
 }
 
 /* Return value becomes exitcode. It's okay to not return at all */
-int do_iptunnel(char **argv)
+int FAST_FUNC do_iptunnel(char **argv)
 {
        static const char keywords[] ALIGN1 =
                "add\0""change\0""delete\0""show\0""list\0""lst\0";