Index: misc.hh
===================================================================
--- misc.hh.orig	2006-11-12 17:56:13.000000000 +0100
+++ misc.hh	2007-10-19 00:28:15.997410772 +0200
@@ -37,6 +37,7 @@
 #include <deque>
 #include <stdexcept>
 #include <string>
+#include <cstring>
 #include <ctype.h>
 #include <vector>
 #include <boost/optional.hpp>
Index: rec_channel.cc
===================================================================
--- rec_channel.cc.orig	2006-11-12 17:56:13.000000000 +0100
+++ rec_channel.cc	2007-10-19 00:28:20.737698292 +0200
@@ -1,6 +1,7 @@
 #include "rec_channel.hh"
 #include <sys/socket.h>
 #include <cerrno>
+#include <cstdlib>
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/stat.h>
Index: sstuff.hh
===================================================================
--- sstuff.hh.orig	2007-10-19 00:30:59.000000000 +0200
+++ sstuff.hh	2007-10-19 00:32:45.513717523 +0200
@@ -189,12 +189,14 @@ public:
     struct sockaddr_in remote;
     socklen_t remlen=sizeof(remote);
     int bytes;
-    if((bytes=recvfrom(d_socket, d_buffer, d_buflen, 0, (sockaddr *)&remote, &remlen))<0)
-      if(errno!=EAGAIN)
+    if((bytes=recvfrom(d_socket, d_buffer, d_buflen, 0, (sockaddr *)&remote, &remlen))<0) {
+      if(errno!=EAGAIN) {
 	throw NetworkError(strerror(errno));
-      else
+      }
+      else {
 	return false;
-    
+      };
+    };
     dgram.assign(d_buffer,bytes);
     ep.address.byte=remote.sin_addr.s_addr;
     ep.port=ntohs(remote.sin_port);
Index: pdns_recursor.cc
===================================================================
--- pdns_recursor.cc.orig	2006-11-12 17:56:13.000000000 +0100
+++ pdns_recursor.cc	2007-10-19 00:36:02.829657414 +0200
@@ -410,7 +410,7 @@ void primeHints(void)
   set<DNSResourceRecord>nsset;
 
   if(::arg()["hint-file"].empty()) {
-    static char*ips[]={"198.41.0.4", "192.228.79.201", "192.33.4.12", "128.8.10.90", "192.203.230.10", "192.5.5.241", "192.112.36.4", "128.63.2.53", 
+    static const char*ips[]={"198.41.0.4", "192.228.79.201", "192.33.4.12", "128.8.10.90", "192.203.230.10", "192.5.5.241", "192.112.36.4", "128.63.2.53",
 		       "192.36.148.17","192.58.128.30", "193.0.14.129", "198.32.64.12", "202.12.27.33"};
     DNSResourceRecord arr, nsrr;
     arr.qtype=QType::A;
Index: dns.hh
===================================================================
--- dns.hh.orig	2007-10-19 00:30:59.000000000 +0200
+++ dns.hh	2007-10-19 00:49:13.749505869 +0200
@@ -115,7 +115,7 @@ struct EDNS0Record 
 #pragma pack (pop)
 #endif 
 
-typedef enum  {
+enum {
         ns_t_invalid = 0,       /* Cookie. */
         ns_t_a = 1,             /* Host address. */
         ns_t_ns = 2,            /* Authoritative server. */
@@ -137,7 +137,7 @@ typedef enum  {
         ns_t_afsdb = 18,        /* AFS cell database. */
         ns_t_x25 = 19,          /* X_25 calling address. */
         ns_t_isdn = 20,         /* ISDN calling address. */
-	ns_t_rt = 21,           /* Router. */
+        ns_t_rt = 21,           /* Router. */
         ns_t_nsap = 22,         /* NSAP address. */
         ns_t_nsap_ptr = 23,     /* Reverse NSAP lookup (deprecated). */
         ns_t_sig = 24,          /* Security signature. */
Index: misc.hh
===================================================================
--- misc.hh.orig	2007-10-19 00:30:59.000000000 +0200
+++ misc.hh	2007-10-19 00:47:41.427931184 +0200
@@ -206,7 +206,7 @@ inline bool dns_isspace(char c)
   return c==' ' || c=='\t' || c=='\r' || c=='\n';
 }
 
-inline const char dns_tolower(char c)
+inline char dns_tolower(char c)
 {
   if(c>='A' && c<='Z')
     c+='a'-'A';
Index: dnsparser.cc
===================================================================
--- dnsparser.cc.orig	2006-11-12 17:56:13.000000000 +0100
+++ dnsparser.cc	2007-10-19 00:51:53.895177932 +0200
@@ -205,7 +205,7 @@ void MOADNSParser::init(const char *pack
     struct dnsrecordheader ah;
     vector<unsigned char> record;
     validPacket=true;
-    for(n=0;n < d_header.ancount + d_header.nscount + d_header.arcount; ++n) {
+    for(n=0;n < (unsigned)(d_header.ancount + d_header.nscount + d_header.arcount); ++n) {
       DNSRecord dr;
       
       if(n < d_header.ancount)
