diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-12-02 18:18:50 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-12-02 18:18:50 +0000 |
commit | 360d9661b6a33b0358104623058f1c3629a469ea (patch) | |
tree | 268954b686b38c96428e3b74fc1ebb2ebdfdfb32 /networking/interface.c | |
parent | 928b2c0fee65cae10f683ee0f1ea8d0a29a54924 (diff) | |
download | busybox-w32-360d9661b6a33b0358104623058f1c3629a469ea.tar.gz busybox-w32-360d9661b6a33b0358104623058f1c3629a469ea.tar.bz2 busybox-w32-360d9661b6a33b0358104623058f1c3629a469ea.zip |
libbb: add strncpy_IFNAMSIZ
function old new delta
...
udhcp_read_interface 225 220 -5
brctl_main 1151 1146 -5
add_interface 109 104 -5
ipaddr_list_or_flush 2174 2167 -7
do_add_ioctl 88 80 -8
vconfig_main 249 240 -9
do_del_ioctl 78 68 -10
do_iplink 1186 1173 -13
do_if_fetch 766 753 -13
buffer_fill_and_print 196 179 -17
parse_args 1709 1684 -25
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/20 up/down: 11/-140) Total: -129 bytes
Diffstat (limited to 'networking/interface.c')
-rw-r--r-- | networking/interface.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/networking/interface.c b/networking/interface.c index 00174d496..ef187be1a 100644 --- a/networking/interface.c +++ b/networking/interface.c | |||
@@ -395,7 +395,7 @@ static struct interface *add_interface(char *name) | |||
395 | } | 395 | } |
396 | 396 | ||
397 | new = xzalloc(sizeof(*new)); | 397 | new = xzalloc(sizeof(*new)); |
398 | strncpy(new->name, name, IFNAMSIZ); | 398 | strncpy_IFNAMSIZ(new->name, name); |
399 | nextp = ife ? &ife->next : &int_list; | 399 | nextp = ife ? &ife->next : &int_list; |
400 | new->prev = ife; | 400 | new->prev = ife; |
401 | new->next = *nextp; | 401 | new->next = *nextp; |
@@ -614,39 +614,39 @@ static int if_fetch(struct interface *ife) | |||
614 | 614 | ||
615 | skfd = xsocket(AF_INET, SOCK_DGRAM, 0); | 615 | skfd = xsocket(AF_INET, SOCK_DGRAM, 0); |
616 | 616 | ||
617 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 617 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
618 | if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) { | 618 | if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) { |
619 | close(skfd); | 619 | close(skfd); |
620 | return -1; | 620 | return -1; |
621 | } | 621 | } |
622 | ife->flags = ifr.ifr_flags; | 622 | ife->flags = ifr.ifr_flags; |
623 | 623 | ||
624 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 624 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
625 | memset(ife->hwaddr, 0, 32); | 625 | memset(ife->hwaddr, 0, 32); |
626 | if (ioctl(skfd, SIOCGIFHWADDR, &ifr) >= 0) | 626 | if (ioctl(skfd, SIOCGIFHWADDR, &ifr) >= 0) |
627 | memcpy(ife->hwaddr, ifr.ifr_hwaddr.sa_data, 8); | 627 | memcpy(ife->hwaddr, ifr.ifr_hwaddr.sa_data, 8); |
628 | 628 | ||
629 | ife->type = ifr.ifr_hwaddr.sa_family; | 629 | ife->type = ifr.ifr_hwaddr.sa_family; |
630 | 630 | ||
631 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 631 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
632 | ife->metric = 0; | 632 | ife->metric = 0; |
633 | if (ioctl(skfd, SIOCGIFMETRIC, &ifr) >= 0) | 633 | if (ioctl(skfd, SIOCGIFMETRIC, &ifr) >= 0) |
634 | ife->metric = ifr.ifr_metric; | 634 | ife->metric = ifr.ifr_metric; |
635 | 635 | ||
636 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 636 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
637 | ife->mtu = 0; | 637 | ife->mtu = 0; |
638 | if (ioctl(skfd, SIOCGIFMTU, &ifr) >= 0) | 638 | if (ioctl(skfd, SIOCGIFMTU, &ifr) >= 0) |
639 | ife->mtu = ifr.ifr_mtu; | 639 | ife->mtu = ifr.ifr_mtu; |
640 | 640 | ||
641 | memset(&ife->map, 0, sizeof(struct ifmap)); | 641 | memset(&ife->map, 0, sizeof(struct ifmap)); |
642 | #ifdef SIOCGIFMAP | 642 | #ifdef SIOCGIFMAP |
643 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 643 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
644 | if (ioctl(skfd, SIOCGIFMAP, &ifr) == 0) | 644 | if (ioctl(skfd, SIOCGIFMAP, &ifr) == 0) |
645 | ife->map = ifr.ifr_map; | 645 | ife->map = ifr.ifr_map; |
646 | #endif | 646 | #endif |
647 | 647 | ||
648 | #ifdef HAVE_TXQUEUELEN | 648 | #ifdef HAVE_TXQUEUELEN |
649 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 649 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
650 | ife->tx_queue_len = -1; /* unknown value */ | 650 | ife->tx_queue_len = -1; /* unknown value */ |
651 | if (ioctl(skfd, SIOCGIFTXQLEN, &ifr) >= 0) | 651 | if (ioctl(skfd, SIOCGIFTXQLEN, &ifr) >= 0) |
652 | ife->tx_queue_len = ifr.ifr_qlen; | 652 | ife->tx_queue_len = ifr.ifr_qlen; |
@@ -654,23 +654,23 @@ static int if_fetch(struct interface *ife) | |||
654 | ife->tx_queue_len = -1; /* unknown value */ | 654 | ife->tx_queue_len = -1; /* unknown value */ |
655 | #endif | 655 | #endif |
656 | 656 | ||
657 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 657 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
658 | ifr.ifr_addr.sa_family = AF_INET; | 658 | ifr.ifr_addr.sa_family = AF_INET; |
659 | memset(&ife->addr, 0, sizeof(struct sockaddr)); | 659 | memset(&ife->addr, 0, sizeof(struct sockaddr)); |
660 | if (ioctl(skfd, SIOCGIFADDR, &ifr) == 0) { | 660 | if (ioctl(skfd, SIOCGIFADDR, &ifr) == 0) { |
661 | ife->has_ip = 1; | 661 | ife->has_ip = 1; |
662 | ife->addr = ifr.ifr_addr; | 662 | ife->addr = ifr.ifr_addr; |
663 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 663 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
664 | memset(&ife->dstaddr, 0, sizeof(struct sockaddr)); | 664 | memset(&ife->dstaddr, 0, sizeof(struct sockaddr)); |
665 | if (ioctl(skfd, SIOCGIFDSTADDR, &ifr) >= 0) | 665 | if (ioctl(skfd, SIOCGIFDSTADDR, &ifr) >= 0) |
666 | ife->dstaddr = ifr.ifr_dstaddr; | 666 | ife->dstaddr = ifr.ifr_dstaddr; |
667 | 667 | ||
668 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 668 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
669 | memset(&ife->broadaddr, 0, sizeof(struct sockaddr)); | 669 | memset(&ife->broadaddr, 0, sizeof(struct sockaddr)); |
670 | if (ioctl(skfd, SIOCGIFBRDADDR, &ifr) >= 0) | 670 | if (ioctl(skfd, SIOCGIFBRDADDR, &ifr) >= 0) |
671 | ife->broadaddr = ifr.ifr_broadaddr; | 671 | ife->broadaddr = ifr.ifr_broadaddr; |
672 | 672 | ||
673 | strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); | 673 | strncpy_IFNAMSIZ(ifr.ifr_name, ifname); |
674 | memset(&ife->netmask, 0, sizeof(struct sockaddr)); | 674 | memset(&ife->netmask, 0, sizeof(struct sockaddr)); |
675 | if (ioctl(skfd, SIOCGIFNETMASK, &ifr) >= 0) | 675 | if (ioctl(skfd, SIOCGIFNETMASK, &ifr) >= 0) |
676 | ife->netmask = ifr.ifr_netmask; | 676 | ife->netmask = ifr.ifr_netmask; |