From f871a5c68feee4473ba493e1dee536b41e0bb871 Mon Sep 17 00:00:00 2001 From: Lucas Bajolet Date: Tue, 29 Jul 2014 11:13:42 -0400 Subject: [PATCH] lib/string_exp/utf8: Fixed print routine to support UTF8 strings. Signed-off-by: Lucas Bajolet --- lib/string_experimentations/utf8.nit | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/string_experimentations/utf8.nit b/lib/string_experimentations/utf8.nit index b1ba7d1..7261820 100644 --- a/lib/string_experimentations/utf8.nit +++ b/lib/string_experimentations/utf8.nit @@ -16,6 +16,7 @@ module utf8 intrude import standard::string +intrude import standard::file in "C Header" `{ @@ -396,3 +397,17 @@ redef class NativeString return new FlatString.with_infos_index(new_self, real_len.item, 0, real_len.item - 1, x, length) end end + +redef class OFStream + redef fun write(s) + do + assert _writable + if s isa FlatText then + if s isa FlatString then + write_native(s.to_cstring, s.bytelen) + else + write_native(s.to_cstring, s.length) + end + else for i in s.substrings do write_native(i.to_cstring, i.length) + end +end -- 1.7.9.5