diff options
-rw-r--r-- | wol-proxyd.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/wol-proxyd.c b/wol-proxyd.c index 09f9377..b1038d3 100644 --- a/wol-proxyd.c +++ b/wol-proxyd.c @@ -9,14 +9,13 @@ #include <stdlib.h> #include <string.h> - static void die(const char *str) { fprintf(stderr, "%s\n", str); exit(1); } -static is_same_subnet(struct sockaddr_in *a, struct sockaddr_in *b, +static int is_same_subnet(struct sockaddr_in *a, struct sockaddr_in *b, struct sockaddr_in *mask) { if (a->sin_family != b->sin_family) @@ -29,7 +28,6 @@ static int get_bcast_addr(const char *iface, struct sockaddr_in *src, struct sockaddr_in *bcast) { struct ifaddrs *ifaddr, *ifa; - char host[NI_MAXHOST], bhost[NI_MAXHOST]; int ret = 0; if (getifaddrs(&ifaddr) == -1) @@ -73,7 +71,7 @@ static int run_proxy(const char *iface, int port) if (bind(fd, (struct sockaddr *)&src, sizeof(src)) < 0) die("bind"); - setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, &n, sizeof(n)); + setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &n, sizeof(n)); while (1) { n = recvfrom(fd, buf, sizeof(buf), 0, (struct sockaddr *)&src, @@ -87,14 +85,15 @@ static int run_proxy(const char *iface, int port) sizeof(dst)); } } + return 0; } int main(int argc, char *argv[]) { - int c; int port = 9; const char *iface = NULL; if (argc > 1) iface = argv[1]; - run_proxy(iface, port); + + return run_proxy(iface, port); } |