The following fixes some compile time problems under Solaris
Index: ./dlls/iphlpapi/ifenum.c
===================================================================
RCS file: /home/wine/wine/dlls/iphlpapi/ifenum.c,v
retrieving revision 1.3
diff -u -3 -p -r1.3 ifenum.c
--- ./dlls/iphlpapi/ifenum.c 21 May 2003 18:26:00 -0000 1.3
+++ ./dlls/iphlpapi/ifenum.c 30 Jun 2003 08:51:28 -0000
@@ -630,6 +630,7 @@ DWORD getInterfacePhysicalByName(const c
*type = MIB_IF_TYPE_LOOPBACK;
memset(addr, 0, *len);
*len = 0;
+ ret=NOERROR;
}
else {
struct arpreq arp;
@@ -639,7 +640,7 @@ DWORD getInterfacePhysicalByName(const c
arp.arp_pa.sa_family = AF_INET;
saddr = (struct sockaddr_in *)&arp; /* proto addr is first member */
saddr->sin_family = AF_INET;
- saddr->sin_addr.s_addr = getInterfaceAddrByName(name);
+ saddr->sin_addr.s_addr = getInterfaceIPAddrByName(name);
if ((ioctl(fd, SIOCGARP, &arp)))
ret = ERROR_INVALID_DATA;
else {
@@ -661,9 +662,10 @@ DWORD getInterfacePhysicalByName(const c
}
}
}
+ }
else
ret = ERROR_NO_MORE_FILES;
- }
+
return ret;
}
#elif defined (HAVE_SYS_SYSCTL_H) && defined (HAVE_NET_IF_DL_H)
@@ -787,7 +789,11 @@ DWORD getInterfaceMtuByName(const char *
if ((ioctl(fd, SIOCGIFMTU, &ifr)))
ret = ERROR_INVALID_DATA;
else {
+#if !defined sun
*mtu = ifr.ifr_mtu;
+#else
+ *mtu=ifr.ifr_metric;
+ #endif
ret = NO_ERROR;
}
}