Date: Mon, 17 Feb 2025 23:31:05 GMT From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: e71fff28550b - main - tools/ipbroadcast: make it compilable with modern compiler Message-ID: <202502172331.51HNV5OK067240@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e71fff28550bb0256851835b271acfac4bae59f1 commit e71fff28550bb0256851835b271acfac4bae59f1 Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2025-02-17 23:28:52 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2025-02-17 23:28:52 +0000 tools/ipbroadcast: make it compilable with modern compiler --- tools/regression/netinet/ipbroadcast/ipbroadcast.c | 29 +++++++--------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/tools/regression/netinet/ipbroadcast/ipbroadcast.c b/tools/regression/netinet/ipbroadcast/ipbroadcast.c index 6177ce964749..9315ebe2b6ad 100644 --- a/tools/regression/netinet/ipbroadcast/ipbroadcast.c +++ b/tools/regression/netinet/ipbroadcast/ipbroadcast.c @@ -91,9 +91,6 @@ usage(void) fprintf(stderr, "-p: Set local and remote port (default: %d)\n", DEFAULT_PORT); fprintf(stderr, "-R: Use raw IP (protocol %d)\n", IPPROTO_ZEROHOP); -#if 0 - fprintf(stderr, "-r: Fill datagram with random bytes\n"); -#endif fprintf(stderr, "-s: Set IP_SENDSRCADDR to <srcaddr>\n"); fprintf(stderr, "-t: Set IP_TTL to <ttl>\n"); @@ -109,10 +106,8 @@ main(int argc, char *argv[]) struct msghdr msg; struct sockaddr_in dsin; struct sockaddr_in laddr; - struct sockaddr_dl *sdl; struct cmsghdr *cmsgp; struct in_addr dstaddr; - struct in_addr *srcaddrp; char *ifname; char *laddr_s; char *srcaddr_s; @@ -121,7 +116,6 @@ main(int argc, char *argv[]) int dobroadcast; int dontroute; int doonesbcast; - int dorandom; int dorawip; size_t buflen; ssize_t nbytes; @@ -136,7 +130,6 @@ main(int argc, char *argv[]) dobroadcast = 0; dontroute = 0; doonesbcast = 0; - dorandom = 0; dorawip = 0; ifname = NULL; @@ -150,7 +143,7 @@ main(int argc, char *argv[]) buflen = DEFAULT_PAYLOAD_SIZE; progname = basename(argv[0]); - while ((ch = getopt(argc, argv, "1A:bBdi:l:p:Rrs:t:")) != -1) { + while ((ch = getopt(argc, argv, "1A:bBdi:l:p:Rs:t:")) != -1) { switch (ch) { case '1': doonesbcast = 1; @@ -179,9 +172,6 @@ main(int argc, char *argv[]) case 'R': dorawip = 1; break; - case 'r': - dorandom = 1; - break; case 's': srcaddr_s = optarg; break; @@ -311,8 +301,9 @@ main(int argc, char *argv[]) cmsgp->cmsg_len = CMSG_LEN(sizeof(struct in_addr)); cmsgp->cmsg_level = IPPROTO_IP; cmsgp->cmsg_type = IP_SENDSRCADDR; - srcaddrp = (struct in_addr *)CMSG_DATA(cmsgp); - srcaddrp->s_addr = inet_addr(srcaddr_s); + memcpy(CMSG_DATA(cmsgp), + &(struct in_addr){ inet_addr(srcaddr_s) }, + sizeof(struct in_addr)); } if (ifname != NULL) { @@ -327,13 +318,11 @@ main(int argc, char *argv[]) fprintf(stderr, "DEBUG: cmsgp->cmsg_len is %d\n", cmsgp->cmsg_len); #endif - - sdl = (struct sockaddr_dl *)CMSG_DATA(cmsgp); - memset(sdl, 0, sizeof(struct sockaddr_dl)); - sdl->sdl_family = AF_LINK; - sdl->sdl_len = sizeof(struct sockaddr_dl); - sdl->sdl_index = if_nametoindex(ifname); - + memcpy(CMSG_DATA(cmsgp), &(struct sockaddr_dl){ + .sdl_family = AF_LINK, + .sdl_len = sizeof(struct sockaddr_dl), + .sdl_index = if_nametoindex(ifname) }, + sizeof(struct sockaddr_dl)); #ifdef DIAGNOSTIC fprintf(stderr, "DEBUG: sdl->sdl_family is %d\n", sdl->sdl_family);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502172331.51HNV5OK067240>