From 2bd6ba35fc1433117a86e52a82632b16b78b718b Mon Sep 17 00:00:00 2001 From: clizia Date: Tue, 26 Aug 2025 14:36:22 +0200 Subject: [PATCH] implemented fmt::Write for Writer --- src/vga_buffer.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/vga_buffer.rs b/src/vga_buffer.rs index 64d246a..21ac5af 100644 --- a/src/vga_buffer.rs +++ b/src/vga_buffer.rs @@ -1,3 +1,4 @@ +use core::fmt; use volatile::Volatile; #[allow(dead_code)] @@ -61,6 +62,13 @@ pub struct Writer { buffer: &'static mut Buffer, } +impl fmt::Write for Writer { + fn write_str(&mut self, s: &str) -> fmt::Result { + self.write_string(s); + Ok(()) + } +} + impl Writer { pub fn write_byte(&mut self, byte: u8) { match byte { @@ -101,6 +109,7 @@ impl Writer { // function to test things: to be removed pub fn print_something() { + use core::fmt::Write; let mut writer = Writer { column_position: 0, color_code: ColorCode::new(Color::Pink, Color::Black), @@ -109,5 +118,5 @@ pub fn print_something() { writer.write_byte(b'H'); writer.write_string("ello "); - writer.write_string("Wörld!"); + write!(writer, "The numbers are {} and {}", 42, 1.0/3.0).unwrap(); }