@@ -142,7 +142,7 @@ static int vim_error_check(void);
142142static int do_mzscheme_command (exarg_T * , void * , Scheme_Closed_Prim * what );
143143static void startup_mzscheme (void );
144144static char * string_to_line (Scheme_Object * obj );
145- static void do_output (char * mesg , long len );
145+ static void do_output (char * mesg , intptr_t len );
146146static void do_printf (char * format , ...);
147147static void do_flush (void );
148148static Scheme_Object * _apply_thunk_catch_exceptions (
@@ -1349,8 +1349,9 @@ do_intrnl_output(char *mesg, int error)
13491349}
13501350
13511351 static void
1352- do_output (char * mesg , long len UNUSED )
1352+ do_output (char * mesg , intptr_t len UNUSED )
13531353{
1354+ /* TODO: use len, the string may not be NUL terminated */
13541355 do_intrnl_output (mesg , 0 );
13551356}
13561357
@@ -1370,7 +1371,7 @@ do_printf(char *format, ...)
13701371do_flush (void )
13711372{
13721373 char * buff ;
1373- long length ;
1374+ intptr_t length ;
13741375
13751376 buff = scheme_get_sized_string_output (curerr , & length );
13761377 MZ_GC_CHECK ();
@@ -2588,7 +2589,7 @@ string_to_line(Scheme_Object *obj)
25882589{
25892590 char * scheme_str = NULL ;
25902591 char * vim_str = NULL ;
2591- long len ;
2592+ intptr_t len ;
25922593 int i ;
25932594
25942595 scheme_str = scheme_display_to_string (obj , & len );
@@ -2597,10 +2598,10 @@ string_to_line(Scheme_Object *obj)
25972598 * are replacing a single line, and we must replace it with
25982599 * a single line.
25992600 */
2600- if (memchr (scheme_str , '\n' , len ))
2601+ if (memchr (scheme_str , '\n' , ( size_t ) len ))
26012602 scheme_signal_error (_ ("string cannot contain newlines" ));
26022603
2603- vim_str = (char * )alloc (len + 1 );
2604+ vim_str = (char * )alloc (( int )( len + 1 ) );
26042605
26052606 /* Create a copy of the string, with internal nulls replaced by
26062607 * newline characters, as is the vim convention.
0 commit comments