lib/core: Fix `new FlatBuffer.from`
[nit.git] / lib / core / text / flat.nit
index 2533323..9f5659a 100644 (file)
@@ -922,9 +922,9 @@ class FlatBuffer
 
        redef fun clear do
                is_dirty = true
-               if written then reset
                _bytelen = 0
                _length = 0
+               if written then reset
        end
 
        redef fun empty do return new Buffer
@@ -991,22 +991,17 @@ class FlatBuffer
        init from(s: Text)
        do
                _items = new NativeString(s.bytelen)
-               if s isa FlatText then
-                       _items = s._items
-               else
-                       for i in substrings do i.as(FlatString)._items.copy_to(_items, i._bytelen, 0, 0)
-               end
+               for i in s.substrings do i._items.copy_to(_items, i._bytelen, first_byte, 0)
                _bytelen = s.bytelen
                _length = s.length
                _capacity = _bytelen
-               written = true
        end
 
        # Create a new empty string with a given capacity.
        init with_capacity(cap: Int)
        do
                assert cap >= 0
-               _items = new NativeString(cap + 1)
+               _items = new NativeString(cap)
                capacity = cap
                _bytelen = 0
        end