// Written by Forest Hale 2003-06-15 and placed into public domain.
#ifdef WIN32
+#ifdef _MSC_VER
+#pragma comment(lib, "ws2_32.lib")
+#endif
# ifdef SUPPORTIPV6
// Windows XP or higher is required for getaddrinfo, but the inclusion of wspiapi provides fallbacks for older versions
# define _WIN32_WINNT 0x0501
}
#ifdef SUPPORTIPV6
-int LHNETADDRESS_Resolve(lhnetaddressnative_t *address, const char *name, int port)
+static int LHNETADDRESS_Resolve(lhnetaddressnative_t *address, const char *name, int port)
{
char port_buff [16];
struct addrinfo hints;
return LHNETADDRESSTYPE_NONE;
}
-const char *LHNETADDRESS_GetInterfaceName(const lhnetaddress_t *vaddress)
+const char *LHNETADDRESS_GetInterfaceName(const lhnetaddress_t *vaddress, char *ifname, size_t ifnamelength)
{
#ifdef SUPPORTIPV6
lhnetaddressnative_t *address = (lhnetaddressnative_t *)vaddress;
{
#ifndef _WIN32
- static char ifname [IF_NAMESIZE];
-
if (if_indextoname(address->addr.in6.sin6_scope_id, ifname) == ifname)
return ifname;
// The Win32 API doesn't have if_indextoname() until Windows Vista,
// but luckily it just uses the interface ID as the interface name
- static char ifname [16];
-
- if (dpsnprintf(ifname, sizeof(ifname), "%lu", address->addr.in6.sin6_scope_id) > 0)
+ if (dpsnprintf(ifname, ifnamelength, "%lu", address->addr.in6.sin6_scope_id) > 0)
return ifname;
#endif
{
if (lastfd < s->inetsocket)
lastfd = s->inetsocket;
+#if defined(WIN32) && !defined(_MSC_VER)
+ FD_SET((int)s->inetsocket, &fdreadset);
+#else
FD_SET((unsigned int)s->inetsocket, &fdreadset);
+#endif
}
}
tv.tv_sec = microseconds / 1000000;
Con_Print("Connection refused\n");
return 0;
}
- Con_Printf("LHNET_Read: recvfrom returned error: %s\n", LHNETPRIVATE_StrError());
+ Con_DPrintf("LHNET_Read: recvfrom returned error: %s\n", LHNETPRIVATE_StrError());
}
}
#ifdef SUPPORTIPV6
Con_Print("Connection refused\n");
return 0;
}
- Con_Printf("LHNET_Read: recvfrom returned error: %s\n", LHNETPRIVATE_StrError());
+ Con_DPrintf("LHNET_Read: recvfrom returned error: %s\n", LHNETPRIVATE_StrError());
}
}
#endif
{
if (SOCKETERRNO == EWOULDBLOCK)
return 0;
- Con_Printf("LHNET_Write: sendto returned error: %s\n", LHNETPRIVATE_StrError());
+ Con_DPrintf("LHNET_Write: sendto returned error: %s\n", LHNETPRIVATE_StrError());
}
}
#ifdef SUPPORTIPV6
{
if (SOCKETERRNO == EWOULDBLOCK)
return 0;
- Con_Printf("LHNET_Write: sendto returned error: %s\n", LHNETPRIVATE_StrError());
+ Con_DPrintf("LHNET_Write: sendto returned error: %s\n", LHNETPRIVATE_StrError());
}
}
#endif