--- src/os/linux/AdapterInfo.cpp.orig	Wed Aug 30 01:18:24 2006
+++ src/os/linux/AdapterInfo.cpp	Sat Apr  7 20:15:33 2007
@@ -21,6 +21,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include <net/if.h>
+#include <stdint.h>
 
 // APPLICATION INCLUDES
 #include <os/HostAdapterAddress.h>
@@ -68,7 +69,7 @@
       else
       {
          rc = TRUE;
-#ifndef __MACH__
+#if !defined(__MACH__) && !defined(__FreeBSD__)
          // Get the number of returned addresses from ifc_len.
          numAddresses = ifconf_structure.ifc_len / sizeof (struct ifreq);
          int j = 0;
@@ -94,7 +95,7 @@
          numAddresses = j;
 #else
          void* ptr;
-         for (ptr = ifreq_array; (int) ptr < ((int) ifreq_array) + ifconf_structure.ifc_len; )
+         for (ptr = ifreq_array; (uintptr_t) ptr < ((uintptr_t) ifreq_array) + ifconf_structure.ifc_len; )
          {
             struct ifreq* ifr = (struct ifreq*) ptr;
             
@@ -102,7 +103,7 @@
             if (ifr->ifr_addr.sa_len > sizeof(struct sockaddr))
                len = ifr->ifr_addr.sa_len;
 
-            ptr = (void *) ((int) ptr + sizeof(ifr->ifr_name) + len);
+            ptr = (void *) ((uintptr_t) ptr + sizeof(ifr->ifr_name) + len);
 
             // The body of this if statement should mirror the for loop above...
             if (ifr->ifr_addr.sa_family == AF_INET)


syntax highlighted by Code2HTML, v. 0.9.1