[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18536: [PATCH] Fix unread-string for characters 0x80 <= c < 0xf0 in
From: |
David Kastrup |
Subject: |
bug#18536: [PATCH] Fix unread-string for characters 0x80 <= c < 0xf0 in UTF-8 |
Date: |
Tue, 23 Sep 2014 17:10:19 +0200 |
* libguile/ports.c (scm_ungetc_unlocked): Fix bad reencoding.
The code
(with-input-from-string ""
(lambda () (unread-string "\"ä\"" (current-input-port)) (read)))
returns "?" instead of "ä". This bug was introduced in
commit be7ecef05c1eea66f30360f658c610710c5cb22e
Signed-off-by: David Kastrup <address@hidden>
---
libguile/ports.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libguile/ports.c b/libguile/ports.c
index 8185d85..3129282 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -2139,7 +2139,7 @@ scm_ungetc_unlocked (scm_t_wchar c, SCM port)
if (pti->encoding_mode == SCM_PORT_ENCODING_MODE_UTF8)
{
- if (c < 0xf0)
+ if (c < 0x80)
{
result_buf[0] = (char) c;
result = result_buf;
--
1.9.1
- bug#18536: [PATCH] Fix unread-string for characters 0x80 <= c < 0xf0 in UTF-8,
David Kastrup <=