From eb4d37f4b6044b9562bbc23610c7744e4eb04d68 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Christophe=20Beaupr=C3=A9?= Date: Thu, 4 Dec 2014 13:54:21 -0500 Subject: [PATCH] ropes: Clean `RopeBuffer.append` a little bit. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jean-Christophe Beaupré --- lib/standard/ropes.nit | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/lib/standard/ropes.nit b/lib/standard/ropes.nit index db635d9..9ef2f4d 100644 --- a/lib/standard/ropes.nit +++ b/lib/standard/ropes.nit @@ -278,15 +278,7 @@ class RopeBuffer var slen = s.length length += slen var rp = rpos - if s isa Rope then - if rp > 0 and dumped != rp then - str += new FlatString.with_infos(ns, rp - dumped, dumped, rp - 1) - dumped = rp - end - str = str + s - return - end - if slen > maxlen then + if s isa Rope or slen > maxlen then if rp > 0 and dumped != rp then str += new FlatString.with_infos(ns, rp - dumped, dumped, rp - 1) dumped = rp @@ -326,12 +318,11 @@ class RopeBuffer return end if slen <= remsp then - sits.copy_to(ns, slen, begin, rp) - if rp == buf_size then - rpos = buf_size + if remsp <= 0 then dump_buffer rpos = 0 else + sits.copy_to(ns, slen, begin, rp) rpos += slen end else -- 1.7.9.5