add platform tweaks
[oweals/busybox.git] / networking / arping.c
index e7b842f5b89fb3faf30259708df25c88c450b54a..ab39c717b6c7249a5ff4ff6dd73555fdd20d7ef5 100644 (file)
@@ -331,8 +331,7 @@ int arping_main(int argc UNUSED_PARAM, char **argv)
                struct sockaddr_in saddr;
                int probe_fd = xsocket(AF_INET, SOCK_DGRAM, 0);
 
-               if (setsockopt(probe_fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device) + 1) == -1)
-                       bb_perror_msg("cannot bind to device %s", device);
+               setsockopt_bindtodevice(probe_fd, device);
                memset(&saddr, 0, sizeof(saddr));
                saddr.sin_family = AF_INET;
                if (src.s_addr) {
@@ -349,9 +348,10 @@ int arping_main(int argc UNUSED_PARAM, char **argv)
                        if (setsockopt(probe_fd, SOL_SOCKET, SO_DONTROUTE, &const_int_1, sizeof(const_int_1)) == -1)
                                bb_perror_msg("setsockopt(SO_DONTROUTE)");
                        xconnect(probe_fd, (struct sockaddr *) &saddr, sizeof(saddr));
-                       if (getsockname(probe_fd, (struct sockaddr *) &saddr, &alen) == -1) {
-                               bb_perror_msg_and_die("getsockname");
-                       }
+                       getsockname(probe_fd, (struct sockaddr *) &saddr, &alen);
+                       //never happens:
+                       //if (getsockname(probe_fd, (struct sockaddr *) &saddr, &alen) == -1)
+                       //      bb_perror_msg_and_die("getsockname");
                        if (saddr.sin_family != AF_INET)
                                bb_error_msg_and_die("no IP address configured");
                        src = saddr.sin_addr;
@@ -366,10 +366,10 @@ int arping_main(int argc UNUSED_PARAM, char **argv)
 
        {
                socklen_t alen = sizeof(me);
-
-               if (getsockname(sock_fd, (struct sockaddr *) &me, &alen) == -1) {
-                       bb_perror_msg_and_die("getsockname");
-               }
+               getsockname(sock_fd, (struct sockaddr *) &me, &alen);
+               //never happens:
+               //if (getsockname(sock_fd, (struct sockaddr *) &me, &alen) == -1)
+               //      bb_perror_msg_and_die("getsockname");
        }
        if (me.sll_halen == 0) {
                bb_error_msg(err_str, "is not ARPable (no ll address)");