From f9245395745e788912dd69a56b487a4e0630ee47 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 18 Apr 2021 09:20:23 +1000 Subject: [PATCH] create_missing_parents() can take a native name directly --- rslib/src/decks/add.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/rslib/src/decks/add.rs b/rslib/src/decks/add.rs index ed4d2ce0e..2fefb383c 100644 --- a/rslib/src/decks/add.rs +++ b/rslib/src/decks/add.rs @@ -64,7 +64,7 @@ impl Collection { if name_changed { // after updating, we need to ensure all grandparents exist, which may not be the case // in the parent->child case - self.create_missing_parents(deck.name.as_str(), usn)?; + self.create_missing_parents(&deck.name, usn)?; } Ok(()) } @@ -117,7 +117,7 @@ impl Collection { &child_split[parent_count..].join("\x1f") )); if need_create { - self.create_missing_parents(deck.name.as_str(), usn)?; + self.create_missing_parents(&deck.name, usn)?; } Ok(()) } else if child_split.len() == 1 { @@ -125,11 +125,12 @@ impl Collection { Ok(()) } else { // no existing parents - self.create_missing_parents(deck.name.as_str(), usn) + self.create_missing_parents(&deck.name, usn) } } - fn create_missing_parents(&mut self, mut machine_name: &str, usn: Usn) -> Result<()> { + fn create_missing_parents(&mut self, name: &NativeDeckName, usn: Usn) -> Result<()> { + let mut machine_name = name.as_str(); while let Some(parent_name) = immediate_parent_name(machine_name) { if self.storage.get_deck_id(parent_name)?.is_none() { self.add_parent_deck(parent_name, usn)?;