]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix f ... alien>string
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 21 Apr 2008 00:29:58 +0000 (19:29 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 21 Apr 2008 00:29:58 +0000 (19:29 -0500)
core/alien/strings/strings-tests.factor
core/alien/strings/strings.factor

index 10cf75f81a91b5ed398a16c7d19703bdc16d3700..484809469fa1fc1b4cb5a82f6c38708f79975bb2 100644 (file)
@@ -1,5 +1,6 @@
 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
 
 [ "\u0000ff" ]
@@ -26,3 +27,4 @@ unit-test
     dup utf16n alien>string swap free
 ] unit-test
 
+[ f ] [ f utf8 alien>string ] unit-test
index 1c15ac8284d984ad0c693f64628c1b3b33f0be03..6fb506c461196aaf7da1faad74938d3bcceecffe 100644 (file)
@@ -6,10 +6,15 @@ io.streams.byte-array io.streams.memory io.encodings.utf8
 io.encodings.utf16 system alien strings cpu.architecture ;
 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>
     "\0" swap stream-read-until drop ;
 
+M: f alien>string
+    drop ;
+
 ERROR: invalid-c-string string ;
 
 : check-string ( string -- )