aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cell.rs6
-rw-r--r--src/screen.rs2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/cell.rs b/src/cell.rs
index 8d7e32f..d0d6f0c 100644
--- a/src/cell.rs
+++ b/src/cell.rs
@@ -9,8 +9,10 @@ pub struct Cell {
}
impl Cell {
- pub(crate) fn set(&mut self, c: String, a: crate::attrs::Attrs) {
- self.contents = c;
+ pub(crate) fn set(&mut self, c: char, a: crate::attrs::Attrs) {
+ let mut buf = vec![0; 4];
+ c.encode_utf8(&mut buf);
+ self.contents = unsafe { String::from_utf8_unchecked(buf) };
self.attrs = a;
}
diff --git a/src/screen.rs b/src/screen.rs
index 4ed065b..05b8935 100644
--- a/src/screen.rs
+++ b/src/screen.rs
@@ -476,7 +476,7 @@ impl Screen {
}
}
} else {
- cell.set(c.to_string(), attrs);
+ cell.set(c, attrs);
self.grid_mut().col_inc(1);
if width > 1 {
let bgcolor = self.attrs.bgcolor;