diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index d6ee4b9..9a92fee 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -142,7 +142,7 @@
 static int do_mzscheme_command(exarg_T *, void *, Scheme_Closed_Prim *what);
 static void startup_mzscheme(void);
 static char *string_to_line(Scheme_Object *obj);
-static void do_output(char *mesg, long len);
+static void do_output(char *mesg, intptr_t len);
 static void do_printf(char *format, ...);
 static void do_flush(void);
 static Scheme_Object *_apply_thunk_catch_exceptions(
@@ -1349,8 +1349,9 @@
 }
 
     static void
-do_output(char *mesg, long len UNUSED)
+do_output(char *mesg, intptr_t len UNUSED)
 {
+    /* TODO: use len, the string may not be NUL terminated */
     do_intrnl_output(mesg, 0);
 }
 
@@ -1370,7 +1371,7 @@
 do_flush(void)
 {
     char *buff;
-    long length;
+    intptr_t length;
 
     buff = scheme_get_sized_string_output(curerr, &length);
     MZ_GC_CHECK();
@@ -2588,7 +2589,7 @@
 {
     char	*scheme_str = NULL;
     char	*vim_str = NULL;
-    long	len;
+    intptr_t	len;
     int		i;
 
     scheme_str = scheme_display_to_string(obj, &len);
@@ -2597,10 +2598,10 @@
      * are replacing a single line, and we must replace it with
      * a single line.
      */
-    if (memchr(scheme_str, '\n', len))
+    if (memchr(scheme_str, '\n', (size_t)len))
 	scheme_signal_error(_("string cannot contain newlines"));
 
-    vim_str = (char *)alloc(len + 1);
+    vim_str = (char *)alloc((int)(len + 1));
 
     /* Create a copy of the string, with internal nulls replaced by
      * newline characters, as is the vim convention.
