From ac4660684d96a1ece547cb400619d067045f035f Mon Sep 17 00:00:00 2001 From: "Andrew Phillips (aider)" Date: Wed, 14 May 2025 16:32:04 -0300 Subject: [PATCH] fix: clone moved values to resolve ownership issues --- src/modes/save.rs | 2 +- src/modes/update.rs | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/modes/save.rs b/src/modes/save.rs index 8045e4b..fb11fa9 100644 --- a/src/modes/save.rs +++ b/src/modes/save.rs @@ -169,7 +169,7 @@ pub fn mode_save( // Finalize the digest and log the result let digest = digest_engine.finalize()?; debug!("DIGEST: {}", digest); - item.digest_value = Some(digest); + item.digest_value = Some(digest.clone()); db::update_item(conn, item.clone())?; diff --git a/src/modes/update.rs b/src/modes/update.rs index 5be83bf..b2698b9 100644 --- a/src/modes/update.rs +++ b/src/modes/update.rs @@ -67,7 +67,7 @@ pub fn mode_update( } if item.digest_value.is_none() { - let digest_type = digest_engine::DigestType::from_str(&item.digest_type)?; + let digest_type = digest_engine::DigestType::from_str(&item.digest_type.clone())?; if digest_type != digest_engine::DigestType::None { info!("Updating unknown digest value"); @@ -79,7 +79,7 @@ pub fn mode_update( debug!("MAIN: Updating stream size of {:?}", item_path); // Create and initialize digest engine - let mut digest_engine = digest_engine::get_digest_engine(digest_type); + let mut digest_engine = digest_engine::get_digest_engine(digest_type.clone()); // Read file content and update digest let mut reader = compression_engine.open(item_path)?; @@ -94,9 +94,10 @@ pub fn mode_update( // Get final digest value let digest_value = digest_engine.finalize()?; + debug!("DIGEST: {}", digest_value); // Update item with new digest value - item.digest_value = Some(digest_value); + item.digest_value = Some(digest_value.clone()); db::update_item(conn, item.clone())?; // Save digest to meta