From 893c758e1341469c7b68dda25a6a6b3306d4e932 Mon Sep 17 00:00:00 2001 From: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com> Date: Mon, 23 Mar 2020 14:11:06 -0400 Subject: [PATCH] string length is number of chars --- src/builtin/string.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/builtin/string.rs b/src/builtin/string.rs index 081fef6..1330781 100644 --- a/src/builtin/string.rs +++ b/src/builtin/string.rs @@ -70,7 +70,7 @@ pub(crate) fn register(f: &mut HashMap) { Value::Ident(s, q) => (s, q), v => return Err(format!("$string: {} is not a string.", v).into()), }; - let str_len = string.len(); + let str_len = string.chars().count(); let start = match arg!(args, 1, "start-at") { Value::Dimension(n, Unit::None) if n.is_decimal() => { return Err(format!("{} is not an int.", n).into()) @@ -171,7 +171,7 @@ pub(crate) fn register(f: &mut HashMap) { return Ok(Value::Ident(substr, quotes)); } - let len = s1.len(); + let len = s1.chars().count(); // Insert substring at char position, rather than byte position let insert = |idx, s1: String, s2| {