changeset 9846:439c624308f4 draft

(svn r13990) -Fix (r13988): win32 compilation failed
author glx <glx@openttd.org>
date Mon, 04 Aug 2008 13:54:10 +0000
parents ee10319a40b6
children cc5c11ce4280
files src/network/core/host.cpp
diffstat 1 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/network/core/host.cpp
+++ b/src/network/core/host.cpp
@@ -7,6 +7,7 @@
 #include "../../stdafx.h"
 #include "../../debug.h"
 #include "os_abstraction.h"
+#include "../../core/alloc_func.hpp"
 
 /**
  * Internal implementation for finding the broadcast IPs.
@@ -117,15 +118,15 @@
 	if (sock == INVALID_SOCKET) return 0;
 
 	DWORD len = 0;
-	INTERFACE_INFO ifo[MAX_INTERFACES];
-	memset(&ifo[0], 0, sizeof(ifo));
-	if ((WSAIoctl(sock, SIO_GET_INTERFACE_LIST, NULL, 0, &ifo[0], sizeof(ifo), &len, NULL, NULL)) != 0) {
+	INTERFACE_INFO *ifo = AllocaM(INTERFACE_INFO, limit);
+	memset(ifo, 0, limit * sizeof(*ifo));
+	if ((WSAIoctl(sock, SIO_GET_INTERFACE_LIST, NULL, 0, &ifo[0], limit * sizeof(*ifo), &len, NULL, NULL)) != 0) {
 		closesocket(sock);
-		return;
+		return 0;
 	}
 
 	int index = 0;
-	for (int j = 0; j < len / sizeof(*ifo) && index != limit; j++) {
+	for (uint j = 0; j < len / sizeof(*ifo) && index != limit; j++) {
 		if (ifo[j].iiFlags & IFF_LOOPBACK) continue;
 		if (!(ifo[j].iiFlags & IFF_BROADCAST)) continue;