Index: trunk/src/VBox/Devices/Network/slirp/bootp.c
===================================================================
--- trunk/src/VBox/Devices/Network/slirp/bootp.c	(revision 62761)
+++ trunk/src/VBox/Devices/Network/slirp/bootp.c	(revision 63012)
@@ -592,19 +592,15 @@
         return offReply;
     }
-    else
-    {
-        bc = find_addr(pData, &daddr, bp->bp_hwaddr);
-        if (!bc)
-        {
-            LogRel(("NAT: DHCP Inform was ignored no boot client was found\n"));
-            return -1;
-        }
-
-        LogRel(("NAT: DHCP offered IP address %RTnaipv4\n", bc->addr.s_addr));
-        offReply = dhcp_send_ack(pData, bp, bc, m, /* fDhcpRequest=*/ 0);
-        return offReply;
-    }
-
-    return -1;
+
+    bc = find_addr(pData, &daddr, bp->bp_hwaddr);
+    if (!bc)
+    {
+        LogRel(("NAT: DHCP Inform was ignored no boot client was found\n"));
+        return -1;
+    }
+
+    LogRel(("NAT: DHCP offered IP address %RTnaipv4\n", bc->addr.s_addr));
+    offReply = dhcp_send_ack(pData, bp, bc, m, /* fDhcpRequest=*/ 0);
+    return offReply;
 }
 
@@ -617,4 +613,5 @@
     return 0;
 }
+
 /**
  * fields for discovering t
Index: trunk/src/VBox/Devices/Network/slirp/ip_icmp.c
===================================================================
--- trunk/src/VBox/Devices/Network/slirp/ip_icmp.c	(revision 62761)
+++ trunk/src/VBox/Devices/Network/slirp/ip_icmp.c	(revision 63012)
@@ -130,5 +130,8 @@
     fd_nonblock(pData->icmp_socket.s);
     NSOCK_INC();
+
 #else /* RT_OS_WINDOWS */
+    RT_NOREF(iIcmpCacheLimit);
+
     if (icmpwin_init(pData) != 0)
         return 1;
@@ -618,4 +621,5 @@
     struct icmp *icp;
     void *payload;
+    RT_NOREF(minsize);
 
     LogFlow(("icmp_error: msrc = %p, msrc_len = %d\n",
Index: trunk/src/VBox/Devices/Network/slirp/ip_output.c
===================================================================
--- trunk/src/VBox/Devices/Network/slirp/ip_output.c	(revision 62761)
+++ trunk/src/VBox/Devices/Network/slirp/ip_output.c	(revision 63012)
@@ -174,5 +174,4 @@
 
         if (!(m->m_flags & M_SKIP_FIREWALL)){
-            struct m_tag *t;
             STAM_PROFILE_START(&pData->StatALIAS_output, b);
             rc = LibAliasOut(pData->proxy_alias, mtod(m, char *), m_length(m, NULL));
@@ -293,5 +292,5 @@
 send_or_free:
         if (!(m->m_flags & M_SKIP_FIREWALL)){
-            /* @todo: We can't alias all fragments because the way libalias processing
+            /** @todo We can't alias all fragments because the way libalias processing
              * the fragments brake the sequence. libalias put alias_address to the source
              * address of IP header of fragment, while IP header of the first packet is
@@ -302,5 +301,4 @@
              * solution.
              */
-            struct m_tag *t;
             int rcLa;
 
Index: trunk/src/VBox/Devices/Network/slirp/misc.c
===================================================================
--- trunk/src/VBox/Devices/Network/slirp/misc.c	(revision 62761)
+++ trunk/src/VBox/Devices/Network/slirp/misc.c	(revision 63012)
@@ -91,6 +91,9 @@
 {
 # ifdef FIONBIO
+#  ifdef RT_OS_WINDOWS
+    u_long opt = 1;
+#  else
     int opt = 1;
-
+#  endif
     ioctlsocket(fd, FIONBIO, &opt);
 # else /* !FIONBIO */
@@ -171,5 +174,5 @@
             rc = 0;
             if (zone->pfInit)
-                rc = zone->pfInit(zone->pData, (void *)&it[1], zone->size, M_DONTWAIT);
+                rc = zone->pfInit(zone->pData, (void *)&it[1], (int /*sigh*/)zone->size, M_DONTWAIT);
             if (rc == 0)
             {
@@ -200,5 +203,5 @@
          * it into sub-zone conforming chunks.
          */
-        sub_area = slirp_uma_alloc(zone->master_zone, zone->master_zone->size, NULL, 0);
+        sub_area = slirp_uma_alloc(zone->master_zone, (int /*sigh*/)zone->master_zone->size, NULL, 0);
         if (!sub_area)
         {
@@ -253,9 +256,9 @@
     if (zone->pfFini)
     {
-        zone->pfFini(zone->pData, item, zone->size);
+        zone->pfFini(zone->pData, item, (int /*sigh*/)zone->size);
     }
     if (zone->pfDtor)
     {
-        zone->pfDtor(zone->pData, item, zone->size, NULL);
+        zone->pfDtor(zone->pData, item, (int /*sigh*/)zone->size, NULL);
     }
     LIST_INSERT_HEAD(&zone->free_items, it, list);
@@ -388,9 +391,9 @@
     }
     RTCritSectEnter(&zone->csZone);
-    mem = zone->pfAlloc(zone, zone->size, NULL, 0);
+    mem = zone->pfAlloc(zone, (int /*sigh*/)zone->size, NULL, 0);
     if (mem != NULL)
     {
         if (zone->pfCtor)
-            zone->pfCtor(zone->pData, mem, zone->size, args, M_DONTWAIT);
+            zone->pfCtor(zone->pData, mem, (int /*sigh*/)zone->size, args, M_DONTWAIT);
     }
     RTCritSectLeave(&zone->csZone);
@@ -494,5 +497,5 @@
 {
     struct mbuf *m;
-    size_t size = MCLBYTES;
+    int size = MCLBYTES;
     LogFlowFunc(("ENTER: cbMin:%d, ppvBuf:%p, pcbBuf:%p\n", cbMin, ppvBuf, pcbBuf));
 
Index: trunk/src/VBox/Devices/Network/slirp/sbuf.c
===================================================================
--- trunk/src/VBox/Devices/Network/slirp/sbuf.c	(revision 62761)
+++ trunk/src/VBox/Devices/Network/slirp/sbuf.c	(revision 63012)
@@ -77,5 +77,5 @@
     {
         /* Already alloced, realloc if necessary */
-        if (sb->sb_datalen != size)
+        if (sb->sb_datalen != (u_int)size)
         {
             sb->sb_wptr =
Index: trunk/src/VBox/Devices/Network/slirp/slirp.h
===================================================================
--- trunk/src/VBox/Devices/Network/slirp/slirp.h	(revision 62761)
+++ trunk/src/VBox/Devices/Network/slirp/slirp.h	(revision 63012)
@@ -474,5 +474,5 @@
 int slirp_arp_lookup_ether_by_ip(PNATState, uint32_t, uint8_t *);
 
-static inline size_t slirp_size(PNATState pData)
+DECLINLINE(unsigned) slirp_size(PNATState pData)
 {
         if (if_mtu < MSIZE)
Index: trunk/src/VBox/Devices/Network/slirp/slirp_dns.c
===================================================================
--- trunk/src/VBox/Devices/Network/slirp/slirp_dns.c	(revision 62761)
+++ trunk/src/VBox/Devices/Network/slirp/slirp_dns.c	(revision 63012)
@@ -31,13 +31,11 @@
 # include <iprt/win/iphlpapi.h>
 
-static int get_dns_addr_domain(PNATState pData,
-                               const char **ppszDomain)
-{
-    ULONG flags = GAA_FLAG_INCLUDE_PREFIX; /*GAA_FLAG_INCLUDE_ALL_INTERFACES;*/ /* all interfaces registered in NDIS */
+static int get_dns_addr_domain(PNATState pData)
+{
+    //ULONG flags = GAA_FLAG_INCLUDE_PREFIX; /*GAA_FLAG_INCLUDE_ALL_INTERFACES;*/ /* all interfaces registered in NDIS */
     PIP_ADAPTER_ADDRESSES pAdapterAddr = NULL;
     PIP_ADAPTER_ADDRESSES pAddr = NULL;
     PIP_ADAPTER_DNS_SERVER_ADDRESS pDnsAddr = NULL;
     ULONG size;
-    int wlen = 0;
     char *pszSuffix;
     struct dns_domain_entry *pDomain = NULL;
@@ -154,5 +152,5 @@
 #include "resolv_conf_parser.h"
 
-static int get_dns_addr_domain(PNATState pData, const char **ppszDomain)
+static int get_dns_addr_domain(PNATState pData)
 {
     struct rcp_state st;
@@ -222,7 +220,4 @@
     }
 
-    if (ppszDomain && st.rcps_domain != 0)
-        *ppszDomain = RTStrDup(st.rcps_domain);
-
     return 0;
 }
@@ -244,8 +239,6 @@
          * so we should other way to configure DNS settings.
          */
-        if (get_dns_addr_domain(pData, NULL) < 0)
-        {
+        if (get_dns_addr_domain(pData) < 0)
             pData->fUseHostResolver = true;
-        }
         else
         {
