summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2018-02-25 12:53:42 +0100
committerEugen Wissner <belka@caraus.de>2018-02-25 12:53:42 +0100
commit5ae20512aff74eb8393a2b39938ea5db988ff125 (patch)
treec15a9dbf753112aa3bddf1a0e95edd3308d9d90d /source
parentd30de300d6280b509c7d8bc0e86f155969999274 (diff)
downloadtanya-5ae20512aff74eb8393a2b39938ea5db988ff125.tar.gz
Fix inserting before/after a range into the string
Diffstat (limited to 'source')
-rw-r--r--source/tanya/container/string.d8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/tanya/container/string.d b/source/tanya/container/string.d
index 40dabb6..b48522b 100644
--- a/source/tanya/container/string.d
+++ b/source/tanya/container/string.d
@@ -1564,10 +1564,12 @@ struct String
}
do
{
- auto oldLen = this.data + length;
+ const oldLength = length;
+ const rangeEnd = r.end - this.data;
const inserted = insertBack(el);
- bringToFront(ByCodeUnit!char(this, r.end, oldLen),
- ByCodeUnit!char(this, oldLen, this.data + length));
+ auto containerEnd = this.data + oldLength;
+ bringToFront(ByCodeUnit!char(this, this.data + rangeEnd, containerEnd),
+ ByCodeUnit!char(this, containerEnd, this.data + length));
return inserted;
}