diff --git a/src/c/file.d b/src/c/file.d index 06c086281..e13d70a25 100755 --- a/src/c/file.d +++ b/src/c/file.d @@ -4741,7 +4741,7 @@ writestr_stream(const char *s, cl_object strm) if (i >= size) { si_fill_pointer_set(buffer, ecl_make_fixnum(size)); cl_write_string(2, buffer, strm); - si_fill_pointer_set(buffer, ecl_make_fixnum(0)); + i = 0; } } si_fill_pointer_set(buffer, ecl_make_fixnum(i)); diff --git a/src/c/printer/print_unreadable.d b/src/c/printer/print_unreadable.d index 50e235a29..7f244baf6 100644 --- a/src/c/printer/print_unreadable.d +++ b/src/c/printer/print_unreadable.d @@ -44,7 +44,7 @@ _ecl_write_addr(void *x, cl_object stream) if (buffer_ndx >= buffer_size) { si_fill_pointer_set(buffer, ecl_make_fixnum(buffer_size)); cl_write_string(2, buffer, stream); - si_fill_pointer_set(buffer, ecl_make_fixnum(0)); + buffer_ndx = 0; } } } diff --git a/src/c/printer/write_symbol.d b/src/c/printer/write_symbol.d index b621fe394..0e34a6ce5 100644 --- a/src/c/printer/write_symbol.d +++ b/src/c/printer/write_symbol.d @@ -107,7 +107,7 @@ needs_to_be_escaped(cl_object s, cl_object readtable, cl_object print_case) if (buffer_ndx >= buffer_size) { \ si_fill_pointer_set(buffer, ecl_make_fixnum(buffer_size)); \ cl_write_string(2, buffer, stream); \ - si_fill_pointer_set(buffer, ecl_make_fixnum(0)); \ + buffer_ndx = 0; \ } static void