diff --git a/library/debug.c b/library/debug.c
index 5159d3a..687e194 100644
--- a/library/debug.c
+++ b/library/debug.c
@@ -96,7 +96,7 @@
         return;
 
     snprintf( str, maxlen, "%s(%04d): dumping '%s' (%d bytes)\n",
-              file, line, text, len );
+              file, line, text, (unsigned int) len );
 
     str[maxlen] = '\0';
     ssl->f_dbg( ssl->p_dbg, level, str );
@@ -111,7 +111,8 @@
             if( i > 0 )
                 ssl->f_dbg( ssl->p_dbg, level, "\n" );
 
-            snprintf( str, maxlen, "%s(%04d): %04x: ", file, line, i );
+            snprintf( str, maxlen, "%s(%04d): %04x: ", file, line,
+                      (unsigned int) i );
 
             str[maxlen] = '\0';
             ssl->f_dbg( ssl->p_dbg, level, str );
diff --git a/library/net.c b/library/net.c
index 378f798..5e811a5 100644
--- a/library/net.c
+++ b/library/net.c
@@ -40,8 +40,8 @@
 #pragma comment( lib, "ws2_32.lib" )
 #endif
 
-#define read(fd,buf,len)        recv(fd,buf,(int) len,0)
-#define write(fd,buf,len)       send(fd,buf,(int) len,0)
+#define read(fd,buf,len)        recv(fd,(char*)buf,(int) len,0)
+#define write(fd,buf,len)       send(fd,(char*)buf,(int) len,0)
 #define close(fd)               closesocket(fd)
 
 static int wsa_init_done = 0;
@@ -257,7 +257,7 @@
 int net_set_block( int fd )
 {
 #if defined(_WIN32) || defined(_WIN32_WCE)
-    long n = 0;
+    u_long n = 0;
     return( ioctlsocket( fd, FIONBIO, &n ) );
 #else
     return( fcntl( fd, F_SETFL, fcntl( fd, F_GETFL ) & ~O_NONBLOCK ) );
@@ -267,7 +267,7 @@
 int net_set_nonblock( int fd )
 {
 #if defined(_WIN32) || defined(_WIN32_WCE)
-    long n = 1;
+    u_long n = 1;
     return( ioctlsocket( fd, FIONBIO, &n ) );
 #else
     return( fcntl( fd, F_SETFL, fcntl( fd, F_GETFL ) | O_NONBLOCK ) );
diff --git a/library/x509parse.c b/library/x509parse.c
index ddbeb38..c6a9245 100644
--- a/library/x509parse.c
+++ b/library/x509parse.c
@@ -2411,7 +2411,7 @@
     SAFE_SNPRINTF();
 
     ret = snprintf( p, n, "\n%sRSA key size  : %d bits\n", prefix,
-                   crt->rsa.N.n * (int) sizeof( unsigned long ) * 8 );
+                   (int) crt->rsa.N.n * (int) sizeof( unsigned long ) * 8 );
     SAFE_SNPRINTF();
 
     return( (int) ( size - n ) );
