From 2766eedde85f092153a2affb2d3da491e2670982 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 31 Mar 2006 18:13:42 +0000 Subject: - use RESERVE_CONFIG_BUFFER. For defconfig this gives: text data bss dec hex filename 3627 4 120 3751 ea7 networking/arping.o.oorig 3548 4 96 3648 e40 networking/arping.o.r14710 3520 4 96 3620 e24 networking/arping.o --- networking/arping.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'networking') diff --git a/networking/arping.c b/networking/arping.c index 782b61b64..4f1a2e2c5 100644 --- a/networking/arping.c +++ b/networking/arping.c @@ -71,7 +71,7 @@ static int send_pack(int sock, struct in_addr *src_addr, { int err; struct timeval now; - unsigned char buf[256]; + RESERVE_CONFIG_UBUFFER(buf, 256); struct arphdr *ah = (struct arphdr *) buf; unsigned char *p = (unsigned char *) (ah + 1); @@ -105,6 +105,7 @@ static int send_pack(int sock, struct in_addr *src_addr, if (!(cfg&unicasting)) brd_sent++; } + RELEASE_CONFIG_BUFFER(buf); return err; } @@ -456,12 +457,12 @@ int arping_main(int argc, char **argv) while (1) { sigset_t sset, osset; - unsigned char packet[4096]; + RESERVE_CONFIG_UBUFFER(packet, 4096); struct sockaddr_ll from; socklen_t alen = sizeof(from); int cc; - if ((cc = recvfrom(s, packet, sizeof(packet), 0, + if ((cc = recvfrom(s, packet, 4096, 0, (struct sockaddr *) &from, &alen)) < 0) { perror("recvfrom"); continue; @@ -472,5 +473,6 @@ int arping_main(int argc, char **argv) sigprocmask(SIG_BLOCK, &sset, &osset); recv_pack(packet, cc, &from); sigprocmask(SIG_SETMASK, &osset, NULL); + RELEASE_CONFIG_BUFFER(packet); } } -- cgit v1.2.3