GNU bug report logs -
#18536
[PATCH] Fix unread-string for characters 0x80 <= c < 0xf0 in UTF-8
Previous Next
Reported by: David Kastrup <dak <at> gnu.org>
Date: Tue, 23 Sep 2014 15:15:03 UTC
Severity: normal
Tags: patch
Done: Mark H Weaver <mhw <at> netris.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
* 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 <dak <at> gnu.org>
---
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
This bug report was last modified 10 years and 246 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.