From 50f140edef136887c4bedf3ac2757be1bcfc66ce Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 30 Oct 2015 01:05:44 +0100 Subject: [PATCH] Implement Parser.write() --- src/module/mod.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/module/mod.rs b/src/module/mod.rs index 58fe32bc..521e2f56 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -169,6 +169,25 @@ pub mod file { Ok((h_parseres.ok().unwrap(), d_parseres.ok().unwrap())) } + + fn write(&self, tpl : (FileHeaderData, FD)) -> Result + where FD: FileData + Sized, + DP: FileDataParser + { + let (header, data) = tpl; + let h_text = self.headerp.write(&header); + let d_text = self.datap.write(&data); + + if h_text.is_err() { + return Err(h_text.err().unwrap()); + } + + if d_text.is_err() { + return Err(d_text.err().unwrap()); + } + + Ok(h_text.ok().unwrap() + &d_text.ok().unwrap()[..]) + } } fn divide_text(text: &String) -> Result {