X-Git-Url: http://nitlanguage.org diff --git a/src/interpreter/primitive_types.nit b/src/interpreter/primitive_types.nit index 496840d..ba058c1 100644 --- a/src/interpreter/primitive_types.nit +++ b/src/interpreter/primitive_types.nit @@ -14,8 +14,8 @@ # underlying implementation and that the services are semantically correct. module primitive_types -intrude import standard::file -intrude import standard::text::flat +intrude import core::file +intrude import core::text::flat # Wrapper for `NativeFile` class PrimitiveNativeFile @@ -47,16 +47,16 @@ class PrimitiveNativeFile return false end - fun io_read(buf: NativeString, len: Int): Int do + fun io_read(buf: CString, len: Int): Int do if file isa FileStream then return file.as(FileStream)._file.io_read(buf, len) var str = file.as(Reader).read(len) str.to_cstring.copy_to(buf, str.length, 0, 0) return str.length end - fun io_write(buf: NativeString, len: Int): Int do - if file isa FileStream then return file.as(FileStream)._file.io_write(buf, len) - file.as(Writer).write(buf.to_s_with_length(len)) + fun io_write(buf: CString, from, len: Int): Int do + if file isa FileStream then return file.as(FileStream)._file.io_write(buf, from, len) + file.as(Writer).write(buf.to_s_unsafe(len, copy=false).substring_from(from)) return len end