From a3606c02fd271d32e364fcc540e34ba1899309f6 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 14 Jul 2015 09:33:54 -0400 Subject: [PATCH] Sometimes the compiler doesn't like { 0, } as an initializer... Because it really wants to be { {0, },} or something, and sometimes the compiler, knowing full well what we're trying to do, likes to complain about the rigor applied to our technique in doing it. memset() the struct ifreq to 0 instead so I don't need to figure out its internal structure just to zero it out. Resolves #28 Signed-off-by: Peter Jones --- src/linux.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/linux.c b/src/linux.c index 57f71f3..817b8e6 100644 --- a/src/linux.c +++ b/src/linux.c @@ -847,12 +847,13 @@ ssize_t __attribute__((__visibility__ ("hidden"))) make_mac_path(uint8_t *buf, ssize_t size, const char * const ifname) { - struct ifreq ifr = { 0, }; + struct ifreq ifr; struct ethtool_drvinfo drvinfo = { 0, }; int fd, rc; ssize_t ret = -1, sz, off=0; char busname[PATH_MAX+1] = ""; + memset(&ifr, 0, sizeof (ifr)); strncpy(ifr.ifr_name, ifname, IF_NAMESIZE); drvinfo.cmd = ETHTOOL_GDRVINFO; ifr.ifr_data = (caddr_t)&drvinfo; -- 2.4.6