diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-21 02:21:45 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-21 02:21:45 +0000 |
| commit | 01eaee9309c09ca5d7dc6ef3b2e96084affdab30 (patch) | |
| tree | 4679b85ef024d357f3e3ada864555a63172a050d | |
| parent | 0a1446275d88946734417ed96a3c0f1d7ea969e4 (diff) | |
| download | busybox-w32-01eaee9309c09ca5d7dc6ef3b2e96084affdab30.tar.gz busybox-w32-01eaee9309c09ca5d7dc6ef3b2e96084affdab30.tar.bz2 busybox-w32-01eaee9309c09ca5d7dc6ef3b2e96084affdab30.zip | |
*: s/IF_NAMESIZE/IFNAMSIZ/, regularize its use a bit.
function old new delta
strncpy_IFNAMSIZ - 13 +13
set_slave_mtu 39 37 -2
set_slave_hwaddr 52 50 -2
set_master_hwaddr 52 50 -2
set_if_flags 40 38 -2
get_if_settings 101 98 -3
ifenslave_main 1680 1661 -19
vconfig_main 306 280 -26
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/7 up/down: 13/-56) Total: -43 bytes
| -rw-r--r-- | networking/Config.in | 2 | ||||
| -rw-r--r-- | networking/brctl.c | 4 | ||||
| -rw-r--r-- | networking/ifconfig.c | 2 | ||||
| -rw-r--r-- | networking/ifenslave.c | 40 | ||||
| -rw-r--r-- | networking/interface.c | 32 | ||||
| -rw-r--r-- | networking/nameif.c | 13 | ||||
| -rw-r--r-- | networking/vconfig.c | 5 |
7 files changed, 47 insertions, 51 deletions
diff --git a/networking/Config.in b/networking/Config.in index f7f189cd6..fb6988b41 100644 --- a/networking/Config.in +++ b/networking/Config.in | |||
| @@ -576,7 +576,7 @@ config NAMEIF | |||
| 576 | Renamed interfaces MUST be in the down state. | 576 | Renamed interfaces MUST be in the down state. |
| 577 | It is possible to use a file (default: /etc/mactab) | 577 | It is possible to use a file (default: /etc/mactab) |
| 578 | with list of new interface names and MACs. | 578 | with list of new interface names and MACs. |
| 579 | Maximum interface name length: IF_NAMESIZE = 16 | 579 | Maximum interface name length: IFNAMSIZ = 16 |
| 580 | File fields are separated by space or tab. | 580 | File fields are separated by space or tab. |
| 581 | File format: | 581 | File format: |
| 582 | # Comment | 582 | # Comment |
diff --git a/networking/brctl.c b/networking/brctl.c index bd13878b2..acc789722 100644 --- a/networking/brctl.c +++ b/networking/brctl.c | |||
| @@ -137,7 +137,7 @@ int brctl_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 137 | 137 | ||
| 138 | if (!if_indextoname(bridx[i], brname)) | 138 | if (!if_indextoname(bridx[i], brname)) |
| 139 | bb_perror_msg_and_die("can't get bridge name for index %d", i); | 139 | bb_perror_msg_and_die("can't get bridge name for index %d", i); |
| 140 | safe_strncpy(ifr.ifr_name, brname, IFNAMSIZ); | 140 | strncpy(ifr.ifr_name, brname, IFNAMSIZ); |
| 141 | 141 | ||
| 142 | arm_ioctl(args, BRCTL_GET_BRIDGE_INFO, | 142 | arm_ioctl(args, BRCTL_GET_BRIDGE_INFO, |
| 143 | (unsigned long) &bi, 0); | 143 | (unsigned long) &bi, 0); |
| @@ -191,7 +191,7 @@ int brctl_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 191 | if (!*argv) /* all but 'addif/delif' need at least two arguments */ | 191 | if (!*argv) /* all but 'addif/delif' need at least two arguments */ |
| 192 | bb_show_usage(); | 192 | bb_show_usage(); |
| 193 | 193 | ||
| 194 | safe_strncpy(ifr.ifr_name, br, IFNAMSIZ); | 194 | strncpy(ifr.ifr_name, br, IFNAMSIZ); |
| 195 | if (key == ARG_addif || key == ARG_delif) { /* addif or delif */ | 195 | if (key == ARG_addif || key == ARG_delif) { /* addif or delif */ |
| 196 | brif = *argv; | 196 | brif = *argv; |
| 197 | ifr.ifr_ifindex = if_nametoindex(brif); | 197 | ifr.ifr_ifindex = if_nametoindex(brif); |
diff --git a/networking/ifconfig.c b/networking/ifconfig.c index fcbeb2420..9e95533cc 100644 --- a/networking/ifconfig.c +++ b/networking/ifconfig.c | |||
| @@ -315,7 +315,7 @@ int ifconfig_main(int argc, char **argv) | |||
| 315 | sockfd = xsocket(AF_INET, SOCK_DGRAM, 0); | 315 | sockfd = xsocket(AF_INET, SOCK_DGRAM, 0); |
| 316 | 316 | ||
| 317 | /* get interface name */ | 317 | /* get interface name */ |
| 318 | safe_strncpy(ifr.ifr_name, *argv, IFNAMSIZ); | 318 | strncpy(ifr.ifr_name, *argv, IFNAMSIZ); |
| 319 | 319 | ||
| 320 | /* Process the remaining arguments. */ | 320 | /* Process the remaining arguments. */ |
| 321 | while (*++argv != (char *) NULL) { | 321 | while (*++argv != (char *) NULL) { |
diff --git a/networking/ifenslave.c b/networking/ifenslave.c index b11951758..0aa232028 100644 --- a/networking/ifenslave.c +++ b/networking/ifenslave.c | |||
| @@ -148,6 +148,10 @@ static void change_active(char *master_ifname, char *slave_ifname); | |||
| 148 | static int enslave(char *master_ifname, char *slave_ifname); | 148 | static int enslave(char *master_ifname, char *slave_ifname); |
| 149 | static int release(char *master_ifname, char *slave_ifname); | 149 | static int release(char *master_ifname, char *slave_ifname); |
| 150 | 150 | ||
| 151 | static void strncpy_IFNAMSIZ(char *dst, const char *src) | ||
| 152 | { | ||
| 153 | strncpy(dst, src, IFNAMSIZ); | ||
| 154 | } | ||
| 151 | 155 | ||
| 152 | int ifenslave_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 156 | int ifenslave_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 153 | int ifenslave_main(int argc ATTRIBUTE_UNUSED, char **argv) | 157 | int ifenslave_main(int argc ATTRIBUTE_UNUSED, char **argv) |
| @@ -302,7 +306,7 @@ static void get_drv_info(char *master_ifname) | |||
| 302 | struct ethtool_drvinfo info; | 306 | struct ethtool_drvinfo info; |
| 303 | 307 | ||
| 304 | memset(&ifr, 0, sizeof(ifr)); | 308 | memset(&ifr, 0, sizeof(ifr)); |
| 305 | strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); | 309 | strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname); |
| 306 | ifr.ifr_data = (caddr_t)&info; | 310 | ifr.ifr_data = (caddr_t)&info; |
| 307 | 311 | ||
| 308 | info.cmd = ETHTOOL_GDRVINFO; | 312 | info.cmd = ETHTOOL_GDRVINFO; |
| @@ -332,8 +336,8 @@ static void change_active(char *master_ifname, char *slave_ifname) | |||
| 332 | slave_ifname); | 336 | slave_ifname); |
| 333 | } | 337 | } |
| 334 | 338 | ||
| 335 | strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); | 339 | strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname); |
| 336 | strncpy(ifr.ifr_slave, slave_ifname, IFNAMSIZ); | 340 | strncpy_IFNAMSIZ(ifr.ifr_slave, slave_ifname); |
| 337 | if (ioctl(skfd, SIOCBONDCHANGEACTIVE, &ifr) < 0 | 341 | if (ioctl(skfd, SIOCBONDCHANGEACTIVE, &ifr) < 0 |
| 338 | && ioctl(skfd, BOND_CHANGE_ACTIVE_OLD, &ifr) < 0 | 342 | && ioctl(skfd, BOND_CHANGE_ACTIVE_OLD, &ifr) < 0 |
| 339 | ) { | 343 | ) { |
| @@ -448,8 +452,8 @@ static int enslave(char *master_ifname, char *slave_ifname) | |||
| 448 | } | 452 | } |
| 449 | 453 | ||
| 450 | /* Do the real thing */ | 454 | /* Do the real thing */ |
| 451 | strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); | 455 | strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname); |
| 452 | strncpy(ifr.ifr_slave, slave_ifname, IFNAMSIZ); | 456 | strncpy_IFNAMSIZ(ifr.ifr_slave, slave_ifname); |
| 453 | if (ioctl(skfd, SIOCBONDENSLAVE, &ifr) < 0 | 457 | if (ioctl(skfd, SIOCBONDENSLAVE, &ifr) < 0 |
| 454 | && ioctl(skfd, BOND_ENSLAVE_OLD, &ifr) < 0 | 458 | && ioctl(skfd, BOND_ENSLAVE_OLD, &ifr) < 0 |
| 455 | ) { | 459 | ) { |
| @@ -484,8 +488,8 @@ static int release(char *master_ifname, char *slave_ifname) | |||
| 484 | return 1; | 488 | return 1; |
| 485 | } | 489 | } |
| 486 | 490 | ||
| 487 | strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); | 491 | strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname); |
| 488 | strncpy(ifr.ifr_slave, slave_ifname, IFNAMSIZ); | 492 | strncpy_IFNAMSIZ(ifr.ifr_slave, slave_ifname); |
| 489 | if (ioctl(skfd, SIOCBONDRELEASE, &ifr) < 0 | 493 | if (ioctl(skfd, SIOCBONDRELEASE, &ifr) < 0 |
| 490 | && ioctl(skfd, BOND_RELEASE_OLD, &ifr) < 0 | 494 | && ioctl(skfd, BOND_RELEASE_OLD, &ifr) < 0 |
| 491 | ) { | 495 | ) { |
| @@ -508,11 +512,11 @@ static int get_if_settings(char *ifname, struct dev_data *dd) | |||
| 508 | { | 512 | { |
| 509 | int res; | 513 | int res; |
| 510 | 514 | ||
| 511 | strncpy(dd->mtu.ifr_name, ifname, IFNAMSIZ); | 515 | strncpy_IFNAMSIZ(dd->mtu.ifr_name, ifname); |
| 512 | res = ioctl(skfd, SIOCGIFMTU, &dd->mtu); | 516 | res = ioctl(skfd, SIOCGIFMTU, &dd->mtu); |
| 513 | strncpy(dd->flags.ifr_name, ifname, IFNAMSIZ); | 517 | strncpy_IFNAMSIZ(dd->flags.ifr_name, ifname); |
| 514 | res |= ioctl(skfd, SIOCGIFFLAGS, &dd->flags); | 518 | res |= ioctl(skfd, SIOCGIFFLAGS, &dd->flags); |
| 515 | strncpy(dd->hwaddr.ifr_name, ifname, IFNAMSIZ); | 519 | strncpy_IFNAMSIZ(dd->hwaddr.ifr_name, ifname); |
| 516 | res |= ioctl(skfd, SIOCGIFHWADDR, &dd->hwaddr); | 520 | res |= ioctl(skfd, SIOCGIFHWADDR, &dd->hwaddr); |
| 517 | 521 | ||
| 518 | return res; | 522 | return res; |
| @@ -520,7 +524,7 @@ static int get_if_settings(char *ifname, struct dev_data *dd) | |||
| 520 | 524 | ||
| 521 | static int get_slave_flags(char *slave_ifname) | 525 | static int get_slave_flags(char *slave_ifname) |
| 522 | { | 526 | { |
| 523 | strncpy(slave.flags.ifr_name, slave_ifname, IFNAMSIZ); | 527 | strncpy_IFNAMSIZ(slave.flags.ifr_name, slave_ifname); |
| 524 | return ioctl(skfd, SIOCGIFFLAGS, &slave.flags); | 528 | return ioctl(skfd, SIOCGIFFLAGS, &slave.flags); |
| 525 | } | 529 | } |
| 526 | 530 | ||
| @@ -528,7 +532,7 @@ static int set_master_hwaddr(char *master_ifname, struct sockaddr *hwaddr) | |||
| 528 | { | 532 | { |
| 529 | struct ifreq ifr; | 533 | struct ifreq ifr; |
| 530 | 534 | ||
| 531 | strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); | 535 | strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname); |
| 532 | memcpy(&(ifr.ifr_hwaddr), hwaddr, sizeof(struct sockaddr)); | 536 | memcpy(&(ifr.ifr_hwaddr), hwaddr, sizeof(struct sockaddr)); |
| 533 | return ioctl(skfd, SIOCSIFHWADDR, &ifr); | 537 | return ioctl(skfd, SIOCSIFHWADDR, &ifr); |
| 534 | } | 538 | } |
| @@ -537,7 +541,7 @@ static int set_slave_hwaddr(char *slave_ifname, struct sockaddr *hwaddr) | |||
| 537 | { | 541 | { |
| 538 | struct ifreq ifr; | 542 | struct ifreq ifr; |
| 539 | 543 | ||
| 540 | strncpy(ifr.ifr_name, slave_ifname, IFNAMSIZ); | 544 | strncpy_IFNAMSIZ(ifr.ifr_name, slave_ifname); |
| 541 | memcpy(&(ifr.ifr_hwaddr), hwaddr, sizeof(struct sockaddr)); | 545 | memcpy(&(ifr.ifr_hwaddr), hwaddr, sizeof(struct sockaddr)); |
| 542 | return ioctl(skfd, SIOCSIFHWADDR, &ifr); | 546 | return ioctl(skfd, SIOCSIFHWADDR, &ifr); |
| 543 | } | 547 | } |
| @@ -547,7 +551,7 @@ static int set_slave_mtu(char *slave_ifname, int mtu) | |||
| 547 | struct ifreq ifr; | 551 | struct ifreq ifr; |
| 548 | 552 | ||
| 549 | ifr.ifr_mtu = mtu; | 553 | ifr.ifr_mtu = mtu; |
| 550 | strncpy(ifr.ifr_name, slave_ifname, IFNAMSIZ); | 554 | strncpy_IFNAMSIZ(ifr.ifr_name, slave_ifname); |
| 551 | return ioctl(skfd, SIOCSIFMTU, &ifr); | 555 | return ioctl(skfd, SIOCSIFMTU, &ifr); |
| 552 | } | 556 | } |
| 553 | 557 | ||
| @@ -556,7 +560,7 @@ static int set_if_flags(char *ifname, short flags) | |||
| 556 | struct ifreq ifr; | 560 | struct ifreq ifr; |
| 557 | 561 | ||
| 558 | ifr.ifr_flags = flags; | 562 | ifr.ifr_flags = flags; |
| 559 | strncpy(ifr.ifr_name, ifname, IFNAMSIZ); | 563 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
| 560 | return ioctl(skfd, SIOCSIFFLAGS, &ifr); | 564 | return ioctl(skfd, SIOCSIFFLAGS, &ifr); |
| 561 | } | 565 | } |
| 562 | 566 | ||
| @@ -580,7 +584,7 @@ static int clear_if_addr(char *ifname) | |||
| 580 | { | 584 | { |
| 581 | struct ifreq ifr; | 585 | struct ifreq ifr; |
| 582 | 586 | ||
| 583 | strncpy(ifr.ifr_name, ifname, IFNAMSIZ); | 587 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
| 584 | ifr.ifr_addr.sa_family = AF_INET; | 588 | ifr.ifr_addr.sa_family = AF_INET; |
| 585 | memset(ifr.ifr_addr.sa_data, 0, sizeof(ifr.ifr_addr.sa_data)); | 589 | memset(ifr.ifr_addr.sa_data, 0, sizeof(ifr.ifr_addr.sa_data)); |
| 586 | return ioctl(skfd, SIOCSIFADDR, &ifr); | 590 | return ioctl(skfd, SIOCSIFADDR, &ifr); |
| @@ -603,7 +607,7 @@ static int set_if_addr(char *master_ifname, char *slave_ifname) | |||
| 603 | int i; | 607 | int i; |
| 604 | 608 | ||
| 605 | for (i = 0; i < ARRAY_SIZE(ifra); i++) { | 609 | for (i = 0; i < ARRAY_SIZE(ifra); i++) { |
| 606 | strncpy(ifr.ifr_name, master_ifname, IFNAMSIZ); | 610 | strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname); |
| 607 | res = ioctl(skfd, ifra[i].g_ioctl, &ifr); | 611 | res = ioctl(skfd, ifra[i].g_ioctl, &ifr); |
| 608 | if (res < 0) { | 612 | if (res < 0) { |
| 609 | ifr.ifr_addr.sa_family = AF_INET; | 613 | ifr.ifr_addr.sa_family = AF_INET; |
| @@ -611,7 +615,7 @@ static int set_if_addr(char *master_ifname, char *slave_ifname) | |||
| 611 | sizeof(ifr.ifr_addr.sa_data)); | 615 | sizeof(ifr.ifr_addr.sa_data)); |
| 612 | } | 616 | } |
| 613 | 617 | ||
| 614 | strncpy(ifr.ifr_name, slave_ifname, IFNAMSIZ); | 618 | strncpy_IFNAMSIZ(ifr.ifr_name, slave_ifname); |
| 615 | res = ioctl(skfd, ifra[i].s_ioctl, &ifr); | 619 | res = ioctl(skfd, ifra[i].s_ioctl, &ifr); |
| 616 | if (res < 0) | 620 | if (res < 0) |
| 617 | return res; | 621 | return res; |
diff --git a/networking/interface.c b/networking/interface.c index 44bd8d3d9..f5c94f1ac 100644 --- a/networking/interface.c +++ b/networking/interface.c | |||
| @@ -321,23 +321,23 @@ struct user_net_device_stats { | |||
| 321 | 321 | ||
| 322 | struct interface { | 322 | struct interface { |
| 323 | struct interface *next, *prev; | 323 | struct interface *next, *prev; |
| 324 | char name[IFNAMSIZ]; /* interface name */ | 324 | char name[IFNAMSIZ]; /* interface name */ |
| 325 | short type; /* if type */ | 325 | short type; /* if type */ |
| 326 | short flags; /* various flags */ | 326 | short flags; /* various flags */ |
| 327 | int metric; /* routing metric */ | 327 | int metric; /* routing metric */ |
| 328 | int mtu; /* MTU value */ | 328 | int mtu; /* MTU value */ |
| 329 | int tx_queue_len; /* transmit queue length */ | 329 | int tx_queue_len; /* transmit queue length */ |
| 330 | struct ifmap map; /* hardware setup */ | 330 | struct ifmap map; /* hardware setup */ |
| 331 | struct sockaddr addr; /* IP address */ | 331 | struct sockaddr addr; /* IP address */ |
| 332 | struct sockaddr dstaddr; /* P-P IP address */ | 332 | struct sockaddr dstaddr; /* P-P IP address */ |
| 333 | struct sockaddr broadaddr; /* IP broadcast address */ | 333 | struct sockaddr broadaddr; /* IP broadcast address */ |
| 334 | struct sockaddr netmask; /* IP network mask */ | 334 | struct sockaddr netmask; /* IP network mask */ |
| 335 | int has_ip; | 335 | int has_ip; |
| 336 | char hwaddr[32]; /* HW address */ | 336 | char hwaddr[32]; /* HW address */ |
| 337 | int statistics_valid; | 337 | int statistics_valid; |
| 338 | struct user_net_device_stats stats; /* statistics */ | 338 | struct user_net_device_stats stats; /* statistics */ |
| 339 | int keepalive; /* keepalive value for SLIP */ | 339 | int keepalive; /* keepalive value for SLIP */ |
| 340 | int outfill; /* outfill value for SLIP */ | 340 | int outfill; /* outfill value for SLIP */ |
| 341 | }; | 341 | }; |
| 342 | 342 | ||
| 343 | 343 | ||
| @@ -388,7 +388,7 @@ static struct interface *add_interface(char *name) | |||
| 388 | } | 388 | } |
| 389 | 389 | ||
| 390 | new = xzalloc(sizeof(*new)); | 390 | new = xzalloc(sizeof(*new)); |
| 391 | safe_strncpy(new->name, name, IFNAMSIZ); | 391 | strncpy(new->name, name, IFNAMSIZ); |
| 392 | nextp = ife ? &ife->next : &int_list; | 392 | nextp = ife ? &ife->next : &int_list; |
| 393 | new->prev = ife; | 393 | new->prev = ife; |
| 394 | new->next = *nextp; | 394 | new->next = *nextp; |
diff --git a/networking/nameif.c b/networking/nameif.c index afc88917e..f3d333baf 100644 --- a/networking/nameif.c +++ b/networking/nameif.c | |||
| @@ -16,16 +16,11 @@ | |||
| 16 | #include <netinet/ether.h> | 16 | #include <netinet/ether.h> |
| 17 | #include <linux/sockios.h> | 17 | #include <linux/sockios.h> |
| 18 | 18 | ||
| 19 | /* Older versions of net/if.h do not appear to define IF_NAMESIZE. */ | 19 | #ifndef IFNAMSIZ |
| 20 | #ifndef IF_NAMESIZE | 20 | #define IFNAMSIZ 16 |
| 21 | # ifdef IFNAMSIZ | ||
| 22 | # define IF_NAMESIZE IFNAMSIZ | ||
| 23 | # else | ||
| 24 | # define IF_NAMESIZE 16 | ||
| 25 | # endif | ||
| 26 | #endif | 21 | #endif |
| 27 | 22 | ||
| 28 | /* take from linux/sockios.h */ | 23 | /* Taken from linux/sockios.h */ |
| 29 | #define SIOCSIFNAME 0x8923 /* set interface name */ | 24 | #define SIOCSIFNAME 0x8923 /* set interface name */ |
| 30 | 25 | ||
| 31 | /* Octets in one Ethernet addr, from <linux/if_ether.h> */ | 26 | /* Octets in one Ethernet addr, from <linux/if_ether.h> */ |
| @@ -111,7 +106,7 @@ static void nameif_parse_selector(ethtable_t *ch, char *selector) | |||
| 111 | static void prepend_new_eth_table(ethtable_t **clist, char *ifname, char *selector) | 106 | static void prepend_new_eth_table(ethtable_t **clist, char *ifname, char *selector) |
| 112 | { | 107 | { |
| 113 | ethtable_t *ch; | 108 | ethtable_t *ch; |
| 114 | if (strlen(ifname) >= IF_NAMESIZE) | 109 | if (strlen(ifname) >= IFNAMSIZ) |
| 115 | bb_error_msg_and_die("interface name '%s' too long", ifname); | 110 | bb_error_msg_and_die("interface name '%s' too long", ifname); |
| 116 | ch = xzalloc(sizeof(*ch)); | 111 | ch = xzalloc(sizeof(*ch)); |
| 117 | ch->ifname = xstrdup(ifname); | 112 | ch->ifname = xstrdup(ifname); |
diff --git a/networking/vconfig.c b/networking/vconfig.c index 7b6c2fa04..3f12e7609 100644 --- a/networking/vconfig.c +++ b/networking/vconfig.c | |||
| @@ -133,10 +133,7 @@ int vconfig_main(int argc, char **argv) | |||
| 133 | if (ifr.cmd == SET_VLAN_NAME_TYPE_CMD) { /* set_name_type */ | 133 | if (ifr.cmd == SET_VLAN_NAME_TYPE_CMD) { /* set_name_type */ |
| 134 | ifr.u.name_type = *xfind_str(name_types+1, argv[1]); | 134 | ifr.u.name_type = *xfind_str(name_types+1, argv[1]); |
| 135 | } else { | 135 | } else { |
| 136 | if (strlen(argv[1]) >= IF_NAMESIZE) { | 136 | strncpy(ifr.device1, argv[1], IFNAMSIZ); |
| 137 | bb_error_msg_and_die("if_name >= %d chars", IF_NAMESIZE); | ||
| 138 | } | ||
| 139 | strcpy(ifr.device1, argv[1]); | ||
| 140 | p = argv[2]; | 137 | p = argv[2]; |
| 141 | 138 | ||
| 142 | /* I suppose one could try to combine some of the function calls below, | 139 | /* I suppose one could try to combine some of the function calls below, |
