diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-21 23:48:38 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-21 23:48:38 +0000 |
commit | a771e7c0057d0f506f8cdf67be39268e1c9f0735 (patch) | |
tree | bef7afb1304b3510d4857148a50e162a0578c363 /networking/arping.c | |
parent | e6b10ef0a7a5761c4cd0fe5f48bad953aa92240e (diff) | |
download | busybox-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.c | 15 |
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)"); |