aboutsummaryrefslogtreecommitdiff
path: root/networking/arping.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2009-04-21 23:48:38 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2009-04-21 23:48:38 +0000
commita771e7c0057d0f506f8cdf67be39268e1c9f0735 (patch)
treebef7afb1304b3510d4857148a50e162a0578c363 /networking/arping.c
parente6b10ef0a7a5761c4cd0fe5f48bad953aa92240e (diff)
downloadbusybox-w32-a771e7c0057d0f506f8cdf67be39268e1c9f0735.tar.gz
busybox-w32-a771e7c0057d0f506f8cdf67be39268e1c9f0735.tar.bz2
busybox-w32-a771e7c0057d0f506f8cdf67be39268e1c9f0735.zip
*: remove check for errors on getsockaddr in cases we know they can't happen
libbb: make get_sock_lsa use only one getsockaddr syscall, not two function old new delta get_sock_lsa 72 101 +29 do_iplink 1151 1137 -14 arping_main 1585 1569 -16 dolisten 789 755 -34 xrtnl_open 161 94 -67
Diffstat (limited to 'networking/arping.c')
-rw-r--r--networking/arping.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/networking/arping.c b/networking/arping.c
index 915af3261..ab39c717b 100644
--- a/networking/arping.c
+++ b/networking/arping.c
@@ -348,9 +348,10 @@ int arping_main(int argc UNUSED_PARAM, char **argv)
348 if (setsockopt(probe_fd, SOL_SOCKET, SO_DONTROUTE, &const_int_1, sizeof(const_int_1)) == -1) 348 if (setsockopt(probe_fd, SOL_SOCKET, SO_DONTROUTE, &const_int_1, sizeof(const_int_1)) == -1)
349 bb_perror_msg("setsockopt(SO_DONTROUTE)"); 349 bb_perror_msg("setsockopt(SO_DONTROUTE)");
350 xconnect(probe_fd, (struct sockaddr *) &saddr, sizeof(saddr)); 350 xconnect(probe_fd, (struct sockaddr *) &saddr, sizeof(saddr));
351 if (getsockname(probe_fd, (struct sockaddr *) &saddr, &alen) == -1) { 351 getsockname(probe_fd, (struct sockaddr *) &saddr, &alen);
352 bb_perror_msg_and_die("getsockname"); 352 //never happens:
353 } 353 //if (getsockname(probe_fd, (struct sockaddr *) &saddr, &alen) == -1)
354 // bb_perror_msg_and_die("getsockname");
354 if (saddr.sin_family != AF_INET) 355 if (saddr.sin_family != AF_INET)
355 bb_error_msg_and_die("no IP address configured"); 356 bb_error_msg_and_die("no IP address configured");
356 src = saddr.sin_addr; 357 src = saddr.sin_addr;
@@ -365,10 +366,10 @@ int arping_main(int argc UNUSED_PARAM, char **argv)
365 366
366 { 367 {
367 socklen_t alen = sizeof(me); 368 socklen_t alen = sizeof(me);
368 369 getsockname(sock_fd, (struct sockaddr *) &me, &alen);
369 if (getsockname(sock_fd, (struct sockaddr *) &me, &alen) == -1) { 370 //never happens:
370 bb_perror_msg_and_die("getsockname"); 371 //if (getsockname(sock_fd, (struct sockaddr *) &me, &alen) == -1)
371 } 372 // bb_perror_msg_and_die("getsockname");
372 } 373 }
373 if (me.sll_halen == 0) { 374 if (me.sll_halen == 0) {
374 bb_error_msg(err_str, "is not ARPable (no ll address)"); 375 bb_error_msg(err_str, "is not ARPable (no ll address)");