]> gitweb.factorcode.org Git - factor.git/blobdiff - core/alien/strings/strings.factor
io.encodings.utf16n: merge with io.encodings.utf16
[factor.git] / core / alien / strings / strings.factor
index e2bb70bcd4821e7dd5256b26af2d064250b02d61..60b7eaa6ce60e8710a795a4c5d8f0f29aa7fe56b 100644 (file)
@@ -1,10 +1,10 @@
 ! Copyright (C) 2008, 2011 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors alien arrays byte-arrays byte-vectors init io
-io.encodings io.encodings.ascii io.encodings.latin1
-io.encodings.utf16n io.encodings.utf8 io.streams.memory kernel
-kernel.private math namespaces sequences sequences.private
-strings strings.private system system.private ;
+io.encodings io.encodings.ascii io.encodings.utf16
+io.encodings.utf8 io.streams.memory kernel kernel.private math
+namespaces sequences sequences.private strings strings.private
+system system.private ;
 IN: alien.strings
 
 GENERIC#: alien>string 1 ( c-ptr encoding -- string/f )
@@ -21,7 +21,7 @@ M: f alien>string
 
 ERROR: invalid-c-string string ;
 
-: check-string ( string -- )
+: check-c-string ( string -- )
     0 over member-eq? [ invalid-c-string ] [ drop ] if ;
 
 GENERIC#: string>alien 1 ( string encoding -- byte-array )
@@ -31,14 +31,14 @@ M: c-ptr string>alien drop ;
 <PRIVATE
 
 : fast-string? ( string encoding -- ? )
-    swap aux>> not [ { ascii latin1 utf8 } member-eq? ] [ drop f ] if ; inline
+    swap aux>> not [ { ascii utf8 } member-eq? ] [ drop f ] if ; inline
 
 : string>alien-fast ( string encoding -- byte-array )
     { string object } declare ! aux>> must be f
     drop [ length ] keep over [
         1 + (byte-array) [
             [
-                [ [ string-nth-fast ] 2keep drop ]
+                [ [ string-nth-fast ] keepd ]
                 [ set-nth-unsafe ] bi*
             ] 2curry each-integer
         ] keep
@@ -53,7 +53,7 @@ M: c-ptr string>alien drop ;
 PRIVATE>
 
 M: string string>alien
-    over check-string
+    over check-c-string
     2dup fast-string?
     [ string>alien-fast ]
     [ string>alien-slow ] if ;