summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs42
-rw-r--r--src/qif.rs6
2 files changed, 24 insertions, 24 deletions
diff --git a/src/main.rs b/src/main.rs
index c6f797a..e39f589 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -37,28 +37,32 @@ fn main() -> Result<(), Box<Error>> {
let args = CliArgs::from_args();
for filepath in &args.files {
- let qif_result = {
- let file = File::open(filepath)?;
- let file_reader = BufReader::new(file);
- let mut lines = file_reader.lines();
-
- let mut qif_file = QifFile::new(lines.next().unwrap()?);
- let mut next_entry = Vec::new();
+ let file = File::open(filepath)?;
+ let file_reader = BufReader::new(file);
+ let mut lines = file_reader.lines();
- for line_result in lines {
- let line = line_result?;
- if line == String::from("^") {
- qif_file.append_non_empty(QifEntry::new(&next_entry));
- next_entry.clear();
- } else {
- next_entry.push(line);
+ if let Some(header_line) = lines.next() {
+ let qif_result = {
+ let mut qif_file = QifFile::new(header_line?);
+ let mut next_entry = Vec::new();
+
+ for line_result in lines {
+ let line = line_result?;
+ if line == String::from("^") {
+ qif_file.push(QifEntry::new(&next_entry));
+ next_entry.clear();
+ } else {
+ next_entry.push(line);
+ }
}
- }
- qif_file
- };
+ qif_file
+ };
- let mut file = File::create(filepath)?;
- writeln!(file, "{}", qif_result)?;
+ let mut file = File::create(filepath)?;
+ writeln!(file, "{}", qif_result)?;
+ } else {
+ println!("{} was empty", filepath.display());
+ }
}
println!("Processed {} files", args.files.len());
Ok(())
diff --git a/src/qif.rs b/src/qif.rs
index 0f20394..687c570 100644
--- a/src/qif.rs
+++ b/src/qif.rs
@@ -14,15 +14,11 @@ impl QifFile {
}
}
- pub fn append_non_empty(&mut self, entry: QifEntry) {
+ pub fn push(&mut self, entry: QifEntry) {
if !entry.is_empty() {
self.entries.push(entry);
}
}
-
- pub fn append(&mut self, entry: QifEntry) {
- self.entries.push(entry);
- }
}
impl fmt::Display for QifFile {