diff --git a/tmc-langs-framework/src/meta_syntax.rs b/tmc-langs-framework/src/meta_syntax.rs index 540b45feb22..14e62059891 100644 --- a/tmc-langs-framework/src/meta_syntax.rs +++ b/tmc-langs-framework/src/meta_syntax.rs @@ -110,11 +110,13 @@ impl Iterator for MetaSyntaxParser { type Item = Result; fn next(&mut self) -> Option { - let mut s = String::new(); - match self.reader.read_line(&mut s) { + let mut raw_string_buffer: Vec = Vec::new(); + + match self.reader.read_until(b'\n', &mut raw_string_buffer) { // read 0 bytes = reader empty = iterator empty Ok(0) => None, Ok(_) => { + let mut s = String::from_utf8_lossy(&raw_string_buffer).to_string(); // check line with each meta syntax for meta_syntax in self.meta_syntaxes { // check for stub