diff --git a/eval.c b/eval.c index 2b8510f9..a8592aeb 100644 --- a/eval.c +++ b/eval.c @@ -1971,9 +1971,11 @@ static sexp sexp_close_port (sexp ctx, sexp port) { if (! sexp_port_openp(port)) return sexp_user_exception(ctx, SEXP_FALSE, "port already closed", port); if (sexp_port_stream(port)) - fclose(sexp_port_stream(port)); - if (sexp_port_buf(port)) + fclose(sexp_port_stream(port)); +#if ! USE_STRING_STREAMS + if (sexp_port_buf(port) && sexp_oportp(port)) free(sexp_port_buf(port)); +#endif sexp_port_openp(port) = 0; return SEXP_VOID; } diff --git a/gc.c b/gc.c index c7e2e955..ca6d0136 100644 --- a/gc.c +++ b/gc.c @@ -151,7 +151,6 @@ sexp sexp_sweep (sexp ctx, size_t *sum_freed_ptr) { sexp sexp_gc (sexp ctx, size_t *sum_freed) { sexp res; int i; - fprintf(stderr, "*********************** gc **********************\n"); sexp_mark(continuation_resumer); sexp_mark(final_resumer); for (i=0; i