utf8-string in sbcl
Yoshinori Tahara <[email protected]> Mon, 14 Feb 2005 17:31:07 +0900
| Newsgroups | gmane.lisp.uffi.devel |
|---|---|
| Message-ID | <87oeenfsqc.wl%[email protected]> |
I have a problem when i use utf8-string in sbcl.
This patch may works fine.
--- primitives.lisp 2005-02-14 17:19:31.000000000 +0900
+++ work/primitives.lisp 2005-02-14 17:17:26.000000000 +0900
@@ -147,7 +147,8 @@
(setq *type-conversion-list*
'((* . *) (:void . sb-alien:void)
(:pointer-void . (* t))
- (:cstring . sb-alien:c-string)
+ #-sb-unicode(:cstring . sb-alien:c-string)
+ #+sb-unicode(:cstring . sb-alien:utf8-string)
(:char . sb-alien:char)
(:unsigned-char . (sb-alien:unsigned 8))
(:byte . (sb-alien:signed 8))
--- strings.lisp 2005-02-14 17:19:31.000000000 +0900
+++ work/strings.lisp 2005-02-14 17:17:24.000000000 +0900
@@ -330,7 +330,7 @@
(cond
(null-terminated-p
(let ((casted (sb-alien:cast
- (sb-alien:sap-alien sap (* char)) sb-alien:c-string)))
+ (sb-alien:sap-alien sap (* char)) sb-alien:utf8-string)))
(if length
(copy-seq (subseq casted 0 length))
(copy-seq casted))))
Thanks.
Yoshinori Tahara