ip: code shrink
No binary (build failed)
—
(log yok)
| @@ -14,6 +14,83 @@ | |
| #include "ip_common.h" /* #include "libbb.h" is inside */ | |
| #include "utils.h" | |
| + | /* iproute2-5.17.0: |
| + | -V, -Version |
| + | Print the version of the ip utility and exit. |
| + | -h, -human, -human-readable |
| + | output statistics with human readable values followed by suffix. |
| + | -b, -batch FILENAME |
| + | Read commands from provided file or standard input and invoke them. |
| + | First failure will cause termination of ip. |
| + | -force Don't terminate ip on errors in batch mode. If there were any errors |
| + | during execution of the commands, the application return code will be |
| + | non zero. |
| + | -s, -stats, -statistics |
| + | Output more information. If the option appears twice or more, |
| + | the amount of information increases. As a rule, the information |
| + | is statistics or some time values. |
| + | -d, -details |
| + | Output more detailed information. |
| + | -l, -loops COUNT |
| + | Specify maximum number of loops the 'ip address flush' logic will |
| + | attempt before giving up. The default is 10. Zero (0) means loop |
| + | until all addresses are removed. |
| + | -f, -family FAMILY |
| + | Specifies the protocol family to use. The protocol family identifier |
| + | can be one of inet, inet6, bridge, mpls or link. If this option is |
| + | not present, the protocol family is guessed from other arguments. |
| + | If the rest of the command line does not give enough information |
| + | to guess the family, ip falls back to the default one, usually inet |
| + | or any. link is a special family identifier meaning that |
| + | no networking protocol is involved. |
| + | -4 shortcut for -family inet. |
| + | -6 shortcut for -family inet6. |
| + | -B shortcut for -family bridge. |
| + | -M shortcut for -family mpls. |
| + | -0 shortcut for -family link. |
| + | -o, -oneline |
| + | output each record on a single line, replacing line feeds with the '\' |
| + | character. This is convenient when you want to count records with wc(1) |
| + | or to grep(1) the output. |
| + | -r, -resolve |
| + | use the system's name resolver to print DNS names instead of addresses. |
| + | -n, -netns NETNS |
| + | switches ip to the specified network namespace NETNS. Actually it just |
| + | simplifies executing of: |
| + | ip netns exec NETNS ip [ OPTIONS ] OBJECT { COMMAND | help } |
| + | to |
| + | ip -n[etns] NETNS [ OPTIONS ] OBJECT { COMMAND | help } |
| + | -N, -Numeric |
| + | Print the number of protocol, scope, dsfield, etc directly instead of |
| + | converting it to human readable name. |
| + | -a, -all |
| + | executes specified command over all objects, it depends if command |
| + | supports this option. |
| + | -c[color][={always|auto|never} |
| + | Configure color output. If parameter is omitted or always, color output |
| + | is enabled regardless of stdout state. If parameter is auto, stdout is |
| + | checked to be a terminal before enabling color output. If parameter is |
| + | never, color output is disabled. If specified multiple times, the last |
| + | one takes precedence. This flag is ignored if -json is also given. |
| + | Used color palette can be influenced by COLORFGBG environment variable. |
| + | -t, -timestamp |
| + | display current time when using monitor option. |
| + | -ts, -tshort |
| + | Like -timestamp, but use shorter format. |
| + | -rc, -rcvbuf SIZE |
| + | Set the netlink socket receive buffer size, defaults to 1MB. |
| + | -iec print human readable rates in IEC units (e.g. 1Ki = 1024). |
| + | -br, -brief |
| + | Print only basic information in a tabular format for better readability. |
| + | This option is currently only supported by ip addr show , ip link show |
| + | & ip neigh show commands. |
| + | -j, -json |
| + | Output results in JavaScript Object Notation (JSON). |
| + | -p, -pretty |
| + | The default JSON format is compact and more efficient to parse but hard |
| + | for most users to read. This flag adds indentation for readability. |
| + | */ |
| + | |
| family_t preferred_family = AF_UNSPEC; | |
| smallint oneline; | |
| char _SL_; | |
| @@ -44,7 +44,7 @@ struct filter_t { | |
| int ifindex; | |
| family_t family; | |
| smallint showqueue; | |
| - | smallint oneline; |
| + | /*smallint oneline; - redundant, global "oneline" flag is enough */ |
| smallint up; | |
| /* Misnomer. Does not mean "flushed something" */ | |
| /* More like "flush commands were constructed by print_addrinfo()" */ | |
| @@ -297,7 +297,7 @@ static int FAST_FUNC print_addrinfo(const struct sockaddr_nl *who UNUSED_PARAM, | |
| if (n->nlmsg_type == RTM_DELADDR) | |
| printf("Deleted "); | |
| - | if (G_filter.oneline) |
| + | if (/*G_filter.*/ oneline) |
| printf("%u: %s", ifa->ifa_index, ll_index_to_name(ifa->ifa_index)); | |
| if (ifa->ifa_family == AF_INET) | |
| printf(" inet "); | |
| @@ -427,10 +427,10 @@ static int FAST_FUNC store_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr | |
| return 0; | |
| } | |
| - | static void ipaddr_reset_filter(int _oneline) |
| + | static void ipaddr_reset_filter(void /*int _oneline*/) |
| { | |
| memset(&G_filter, 0, sizeof(G_filter)); | |
| - | G_filter.oneline = _oneline; |
| + | /*G_filter.oneline = _oneline;*/ |
| } | |
| /* Return value becomes exitcode. It's okay to not return at all */ | |
| @@ -444,7 +444,7 @@ int FAST_FUNC ipaddr_list_or_flush(char **argv, int flush) | |
| struct rtnl_handle rth; | |
| char *filter_dev = NULL; | |
| - | ipaddr_reset_filter(oneline); |
| + | ipaddr_reset_filter(/*oneline*/); |
| G_filter.showqueue = 1; | |
| if (G_filter.family == AF_UNSPEC) | |