diff --git a/src/crypt.c b/src/crypt.c
index 758ffb1..c54e15c 100644
--- a/src/crypt.c
+++ b/src/crypt.c
@@ -397,13 +397,13 @@
 	return method->encode_buffer_fn(state, from, len, newptr);
     if (len == 0)
 	/* Not buffering, just return EOF. */
-	return len;
+	return (long)len;
 
-    *newptr = alloc(len);
+    *newptr = alloc((long)len);
     if (*newptr == NULL)
 	return -1;
     method->encode_fn(state, from, len, *newptr);
-    return len;
+    return (long)len;
 }
 
 /*
diff --git a/src/undo.c b/src/undo.c
index 8f50f0f..db6ea29 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -992,7 +992,7 @@
     int	    bufi = 0;
 
     for (i = len - 1; i >= 0; --i)
-	buf[bufi++] = nr >> (i * 8);
+	buf[bufi++] = (char_u)(nr >> (i * 8));
     return undo_write(bi, buf, (size_t)len);
 }
 
@@ -1093,7 +1093,7 @@
 #ifdef FEAT_CRYPT
     if (bi->bi_buffer != NULL)
     {
-	int	size_todo = size;
+	int	size_todo = (int)size;
 	char_u	*p = buffer;
 
 	while (size_todo > 0)
@@ -1119,7 +1119,7 @@
 		n = bi->bi_avail - bi->bi_used;
 	    mch_memmove(p, bi->bi_buffer + bi->bi_used, n);
 	    bi->bi_used += n;
-	    size_todo -= n;
+	    size_todo -= (int)n;
 	    p += n;
 	}
 	return OK;
diff --git a/src/version.c b/src/version.c
index b832539..42369f1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    404,
+/**/
     403,
 /**/
     402,
