chiark / gitweb /
Html: Fix Debug truncation to not randomly panic
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 17 May 2022 00:58:26 +0000 (01:58 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 17 May 2022 00:58:26 +0000 (01:58 +0100)
Ow!

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
base/html.rs

index 85a8f52185b3329ca7b53aab9af0c5e845c4b84a..bf540dbc7b15ca012c698ef7e1c0b2c42ae43210 100644 (file)
@@ -14,7 +14,9 @@ impl Debug for HtmlStr {
     if self.len() < MAX {
       write!(f, "<{}>", &self.0)
     } else {
-      write!(f, "<{}>...", &self.0[0..MAX-3])
+      let lim = (MAX-3 ..).into_iter()
+        .find(|&i| self.0.is_char_boundary(i)).unwrap();
+      write!(f, "<{}>...", &self.0[0..lim])
     }
   }
 }