diff options
Diffstat (limited to 'components/util/str.rs')
-rw-r--r-- | components/util/str.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/components/util/str.rs b/components/util/str.rs index b82f46598b7..fe6127e1106 100644 --- a/components/util/str.rs +++ b/components/util/str.rs @@ -327,3 +327,11 @@ impl Deref for LowercaseString { pub unsafe fn c_str_to_string(s: *const c_char) -> String { from_utf8(CStr::from_ptr(s).to_bytes()).unwrap().to_owned() } + +pub fn str_join<T: AsRef<str>>(strs: &[T], join: &str) -> String { + strs.iter().fold(String::new(), |mut acc, s| { + if !acc.is_empty() { acc.push_str(join); } + acc.push_str(s.as_ref()); + acc + }) +} |