diff --git a/src/textprop.c b/src/textprop.c
index 8b7d3f1..389bd41 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -357,12 +357,12 @@
     static void
 set_text_props(linenr_T lnum, char_u *props, int len)
 {
-    char_u *text;
-    char_u *newtext;
-    size_t textlen;
+    char_u  *text;
+    char_u  *newtext;
+    int	    textlen;
 
     text = ml_get(lnum);
-    textlen = STRLEN(text) + 1;
+    textlen = (int)STRLEN(text) + 1;
     newtext = alloc(textlen + len);
     if (newtext == NULL)
 	return;
diff --git a/src/undo.c b/src/undo.c
index 0a015e6..0cb07a3 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -1205,9 +1205,10 @@
     /* buffer-specific data */
     undo_write_bytes(bi, (long_u)buf->b_ml.ml_line_count, 4);
     len = buf->b_u_line_ptr.ul_line == NULL
-				       ? 0 : STRLEN(buf->b_u_line_ptr.ul_line);
+				? 0L : (long)STRLEN(buf->b_u_line_ptr.ul_line);
     undo_write_bytes(bi, (long_u)len, 4);
-    if (len > 0 && fwrite_crypt(bi, buf->b_u_line_ptr.ul_line, (size_t)len) == FAIL)
+    if (len > 0 && fwrite_crypt(bi, buf->b_u_line_ptr.ul_line, (size_t)len)
+								       == FAIL)
 	return FAIL;
     undo_write_bytes(bi, (long_u)buf->b_u_line_lnum, 4);
     undo_write_bytes(bi, (long_u)buf->b_u_line_colnr, 4);
diff --git a/src/version.c b/src/version.c
index 13f7909..0693be1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    703,
+/**/
     702,
 /**/
     701,
