Fix f ... alien>string

db4
Slava Pestov 2008-04-20 19:29:58 -05:00
parent 7dd8ca150e
commit 40acac17c2
2 changed files with 9 additions and 2 deletions

View File

@ -1,5 +1,6 @@
USING: alien.strings tools.test kernel libc USING: alien.strings tools.test kernel libc
io.encodings.8-bit io.encodings.utf16 io.encodings.ascii alien ; io.encodings.8-bit io.encodings.utf8 io.encodings.utf16
io.encodings.ascii alien ;
IN: alien.strings.tests IN: alien.strings.tests
[ "\u0000ff" ] [ "\u0000ff" ]
@ -26,3 +27,4 @@ unit-test
dup utf16n alien>string swap free dup utf16n alien>string swap free
] unit-test ] unit-test
[ f ] [ f utf8 alien>string ] unit-test

View File

@ -6,10 +6,15 @@ io.streams.byte-array io.streams.memory io.encodings.utf8
io.encodings.utf16 system alien strings cpu.architecture ; io.encodings.utf16 system alien strings cpu.architecture ;
IN: alien.strings IN: alien.strings
: alien>string ( alien encoding -- string ) GENERIC# alien>string 1 ( alien encoding -- string/f )
M: c-ptr alien>string
>r <memory-stream> r> <decoder> >r <memory-stream> r> <decoder>
"\0" swap stream-read-until drop ; "\0" swap stream-read-until drop ;
M: f alien>string
drop ;
ERROR: invalid-c-string string ; ERROR: invalid-c-string string ;
: check-string ( string -- ) : check-string ( string -- )