From 27336b4047dc7c9c588960a1327a00a1dcfc830a Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 5 Sep 2017 12:53:13 +0000 Subject: [PATCH] Issue #219 --- CHANGELOG.md | 1 + mstreams.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51b037db..7f5f8b2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Features Bug Fixes - Fix `read-line` to remove trailing carriage return and/or newline characters. Thanks to wasamasa for the bug report! +- String ports created by `open-input-string` returned an extra garbage byte. This has been fixed by a patch from wasamasa. - Added a fix from wasamasa to escape double quotation marks in strings when output via `write`. ## 0.6.2 - August 25, 2017 diff --git a/mstreams.c b/mstreams.c index 0d40eb1a..f1b1c50e 100644 --- a/mstreams.c +++ b/mstreams.c @@ -45,7 +45,7 @@ port_type *Cyc_io_open_input_string(void *data, object str) p->str_bv_in_mem_buf = malloc(sizeof(char) * (string_len(str) + 1)); p->str_bv_in_mem_buf_len = string_len(str); memcpy(p->str_bv_in_mem_buf, string_str(str), string_len(str)); - p->fp = fmemopen(p->str_bv_in_mem_buf, string_len(str) + 1, "r"); + p->fp = fmemopen(p->str_bv_in_mem_buf, string_len(str), "r"); #endif if (p->fp == NULL){ Cyc_rt_raise2(data, "Unable to open input memory stream", obj_int2obj(errno));