arping: save a few bytes by using mempcpy
function old new delta catcher 357 339 -18
This commit is contained in:
parent
4d89a8bd1d
commit
a6b3a1f0bf
@ -66,6 +66,13 @@ struct globals {
|
|||||||
count = -1; \
|
count = -1; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
// If GNUisms are not available...
|
||||||
|
//static void *mempcpy(void *_dst, const void *_src, int n)
|
||||||
|
//{
|
||||||
|
// memcpy(_dst, _src, n);
|
||||||
|
// return (char*)_dst + n;
|
||||||
|
//}
|
||||||
|
|
||||||
static int send_pack(struct in_addr *src_addr,
|
static int send_pack(struct in_addr *src_addr,
|
||||||
struct in_addr *dst_addr, struct sockaddr_ll *ME,
|
struct in_addr *dst_addr, struct sockaddr_ll *ME,
|
||||||
struct sockaddr_ll *HE)
|
struct sockaddr_ll *HE)
|
||||||
@ -81,20 +88,15 @@ static int send_pack(struct in_addr *src_addr,
|
|||||||
ah->ar_pln = 4;
|
ah->ar_pln = 4;
|
||||||
ah->ar_op = option_mask32 & ADVERT ? htons(ARPOP_REPLY) : htons(ARPOP_REQUEST);
|
ah->ar_op = option_mask32 & ADVERT ? htons(ARPOP_REPLY) : htons(ARPOP_REQUEST);
|
||||||
|
|
||||||
memcpy(p, &ME->sll_addr, ah->ar_hln);
|
p = mempcpy(p, &ME->sll_addr, ah->ar_hln);
|
||||||
p += ME->sll_halen;
|
p = mempcpy(p, src_addr, 4);
|
||||||
|
|
||||||
memcpy(p, src_addr, 4);
|
|
||||||
p += 4;
|
|
||||||
|
|
||||||
if (option_mask32 & ADVERT)
|
if (option_mask32 & ADVERT)
|
||||||
memcpy(p, &ME->sll_addr, ah->ar_hln);
|
p = mempcpy(p, &ME->sll_addr, ah->ar_hln);
|
||||||
else
|
else
|
||||||
memcpy(p, &HE->sll_addr, ah->ar_hln);
|
p = mempcpy(p, &HE->sll_addr, ah->ar_hln);
|
||||||
p += ah->ar_hln;
|
|
||||||
|
|
||||||
memcpy(p, dst_addr, 4);
|
p = mempcpy(p, dst_addr, 4);
|
||||||
p += 4;
|
|
||||||
|
|
||||||
err = sendto(sock_fd, buf, p - buf, 0, (struct sockaddr *) HE, sizeof(*HE));
|
err = sendto(sock_fd, buf, p - buf, 0, (struct sockaddr *) HE, sizeof(*HE));
|
||||||
if (err == p - buf) {
|
if (err == p - buf) {
|
||||||
|
Loading…
Reference in New Issue
Block a user