From 40acac17c2966823b541cd175cccc945844d1338 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sun, 20 Apr 2008 19:29:58 -0500 Subject: [PATCH] Fix f ... alien>string --- core/alien/strings/strings-tests.factor | 4 +++- core/alien/strings/strings.factor | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/alien/strings/strings-tests.factor b/core/alien/strings/strings-tests.factor index 10cf75f81a..484809469f 100644 --- a/core/alien/strings/strings-tests.factor +++ b/core/alien/strings/strings-tests.factor @@ -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 diff --git a/core/alien/strings/strings.factor b/core/alien/strings/strings.factor index 1c15ac8284..6fb506c461 100644 --- a/core/alien/strings/strings.factor +++ b/core/alien/strings/strings.factor @@ -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 r> "\0" swap stream-read-until drop ; +M: f alien>string + drop ; + ERROR: invalid-c-string string ; : check-string ( string -- )