summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-02-06 16:51:45 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2011-02-06 16:51:45 (GMT)
commit281e7b8848108f26253ffc466fc149c04665a2c2 (patch)
tree4d5aa6febfcc64db7ec24f24e90ca817e894d3b6
parent1bb52a9b73772d47a49bcaee0eb4eeb0c68b9b4c (diff)
downloadbusybox-281e7b8848108f26253ffc466fc149c04665a2c2.tar.gz
busybox-281e7b8848108f26253ffc466fc149c04665a2c2.tar.bz2
ping: trivial simplification. -2 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--networking/ping.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/networking/ping.c b/networking/ping.c
index 28ccbb0..c2ff42e 100644
--- a/networking/ping.c
+++ b/networking/ping.c
@@ -419,16 +419,18 @@ static void print_stats_and_exit(int junk UNUSED_PARAM)
exit(nreceived == 0 || (deadline && nreceived < pingcount));
}
-static void sendping_tail(void (*sp)(int), const void *pkt, int size_pkt)
+static void sendping_tail(void (*sp)(int), int size_pkt)
{
int sz;
CLR((uint16_t)ntransmitted % MAX_DUP_CHK);
ntransmitted++;
+ size_pkt += datalen;
+
/* sizeof(pingaddr) can be larger than real sa size, but I think
* it doesn't matter */
- sz = xsendto(pingsock, pkt, size_pkt, &pingaddr.sa, sizeof(pingaddr));
+ sz = xsendto(pingsock, G.snd_packet, size_pkt, &pingaddr.sa, sizeof(pingaddr));
if (sz != size_pkt)
bb_error_msg_and_die(bb_msg_write_error);
@@ -479,7 +481,7 @@ static void sendping4(int junk UNUSED_PARAM)
pkt->icmp_cksum = in_cksum((unsigned short *) pkt, datalen + ICMP_MINLEN);
- sendping_tail(sendping4, pkt, datalen + ICMP_MINLEN);
+ sendping_tail(sendping4, ICMP_MINLEN);
}
#if ENABLE_PING6
static void sendping6(int junk UNUSED_PARAM)
@@ -498,7 +500,7 @@ static void sendping6(int junk UNUSED_PARAM)
//TODO? pkt->icmp_cksum = in_cksum(...);
- sendping_tail(sendping6, pkt, datalen + sizeof(struct icmp6_hdr));
+ sendping_tail(sendping6, sizeof(struct icmp6_hdr));
}
#endif