From: Roy Marples Date: Mon, 4 Dec 2006 16:09:18 +0000 (+0000) Subject: Don't do if (foo) when foo is a char array and not a pointer X-Git-Tag: v3.2.3~360 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22ee2ae60cd4aa7477463a449c6fd39ceca9048e;p=thirdparty%2Fdhcpcd.git Don't do if (foo) when foo is a char array and not a pointer --- diff --git a/Makefile b/Makefile index 4dd51dcf..da641030 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # Should work for both GNU make and BSD mke -VERSION = 3.0.2 +VERSION = 3.0.3_pre1 INSTALL ?= install CFLAGS ?= -Wall -O2 -pedantic -std=gnu99 diff --git a/configure.c b/configure.c index 11216d42..f2fe2233 100644 --- a/configure.c +++ b/configure.c @@ -103,7 +103,7 @@ static int make_resolv (char *ifname, dhcp_t *dhcp) char resolvconf[PATH_MAX]; address_t *address; - memset (&resolvconf, 0, sizeof (resolvconf)); + memset (&buf, 0, sizeof (struct stat)); if (stat ("/sbin/resolvconf", &buf) == 0) { logger (LOG_DEBUG, "sending DNS information to resolvconf"); @@ -132,7 +132,7 @@ static int make_resolv (char *ifname, dhcp_t *dhcp) for (address = dhcp->dnsservers; address; address = address->next) fprintf (f, "nameserver %s\n", inet_ntoa (address->address)); - if (resolvconf) + if (buf.st_ino) { pclose (f); logger (LOG_DEBUG, "resolvconf completed"); diff --git a/interface.c b/interface.c index 16d4ed48..75b088d2 100644 --- a/interface.c +++ b/interface.c @@ -127,7 +127,7 @@ interface_t *read_interface (const char *ifname, int metric) return NULL; } - memcpy (hwaddr, sdl->sdl_data + sdl->sdl_nlen, ETHER_ADDR_LEN); + memcpy (&hwaddr, sdl->sdl_data + sdl->sdl_nlen, ETHER_ADDR_LEN); break; } freeifaddrs (ifap);