diff options
author | Sami Kerola <kerolasa@iki.fi> | 2018-10-27 13:12:21 +0100 |
---|---|---|
committer | Sami Kerola <kerolasa@iki.fi> | 2018-11-11 10:37:05 +0000 |
commit | fd0f4c85dcbbf8c1a0014bb2182bbdba5505eb1a (patch) | |
tree | d3bd04bb8696d4824e73172a10bdb6f3a8b6d322 | |
parent | 21281576614f43b45b2f0492d2ef24b5d2d3bc1e (diff) | |
download | iputils-fd0f4c85dcbbf8c1a0014bb2182bbdba5505eb1a.tar.gz |
arping: remove unnecessary set_device_broadcast...() functions
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
-rw-r--r-- | arping.c | 51 |
1 files changed, 15 insertions, 36 deletions
@@ -934,52 +934,31 @@ out: * This fills the device "broadcast address" * based on information found by find_device() funcion. */ -static int set_device_broadcast_ifaddrs_one(struct run_state *ctl) +static void set_device_broadcast(struct run_state *ctl) { - struct sockaddr_ll *sll; struct sockaddr_ll *he = (struct sockaddr_ll *)&(ctl->he); - if (!ctl->device.ifa) - return -1; - sll = (struct sockaddr_ll *)ctl->device.ifa->ifa_broadaddr; - if (sll->sll_halen != he->sll_halen) - return -1; - memcpy(he->sll_addr, sll->sll_addr, he->sll_halen); - return 0; -} + if (ctl->device.ifa) { + struct sockaddr_ll *sll = + (struct sockaddr_ll *)ctl->device.ifa->ifa_broadaddr; -int set_device_broadcast_sysfs(struct run_state *ctl) -{ + if (sll->sll_halen == he->sll_halen) { + memcpy(he->sll_addr, sll->sll_addr, he->sll_halen); + return; + } + } #ifdef USE_SYSFS - struct sockaddr_ll *he = (struct sockaddr_ll *)&(ctl->he); - if (ctl->device.sysfs && ctl->device.sysfs->value[SYSFS_DEVATTR_ADDR_LEN].ulong != - he->sll_halen) - return -1; - memcpy(he->sll_addr, ctl->device.sysfs->value[SYSFS_DEVATTR_BROADCAST].ptr, he->sll_halen); - return 0; -#else - return -1; + he->sll_halen) { + memcpy(he->sll_addr, + ctl->device.sysfs->value[SYSFS_DEVATTR_BROADCAST].ptr, + he->sll_halen); + return; + } #endif -} - -static int set_device_broadcast_fallback(struct run_state *ctl) -{ - struct sockaddr_ll *he = (struct sockaddr_ll *)&(ctl->he); - if (!ctl->quiet) fprintf(stderr, "WARNING: using default broadcast address.\n"); memset(he->sll_addr, -1, he->sll_halen); - return 0; -} - -static void set_device_broadcast(struct run_state *ctl) -{ - if (!set_device_broadcast_ifaddrs_one(ctl)) - return; - if (!set_device_broadcast_sysfs(ctl)) - return; - set_device_broadcast_fallback(ctl); } int |