From e0d750ac64b09b03385eb6de2e528586972fe584 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Fri, 27 Sep 2019 04:33:21 +0200 Subject: [PATCH] little cleanup dc_imex --- src/dc_imex.rs | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/dc_imex.rs b/src/dc_imex.rs index 5875fd772..d72575da7 100644 --- a/src/dc_imex.rs +++ b/src/dc_imex.rs @@ -552,7 +552,7 @@ fn import_backup(context: &Context, backup_to_import: impl AsRef) -> Resul The macro avoids weird values of 0% or 100% while still working. */ #[allow(non_snake_case)] unsafe fn export_backup(context: &Context, dir: impl AsRef) -> Result<()> { - let mut ok_to_continue: bool; + let mut ok_to_continue = true; let mut success = false; let mut delete_dest_file: libc::c_int = 0; @@ -569,16 +569,22 @@ unsafe fn export_backup(context: &Context, dir: impl AsRef) -> Result<()> sql::try_execute(context, &context.sql, "VACUUM;").ok(); context.sql.close(context); - let mut closed = true; info!( context, "Backup \"{}\" to \"{}\".", context.get_dbfile().display(), dest_path_filename.display(), ); - if dc_copy_file(context, context.get_dbfile(), &dest_path_filename) { - context.sql.open(&context, &context.get_dbfile(), 0); - closed = false; + let copied = dc_copy_file(context, context.get_dbfile(), &dest_path_filename); + context.sql.open(&context, &context.get_dbfile(), 0); + if !copied { + let s = dest_path_filename.to_string_lossy().to_string(); + bail!( + "could not copy file from {:?} to {:?}", + context.get_dbfile(), + s + ); + } /* add all files as blobs to the database copy (this does not require the source to be locked, neigher the destination as it is used only here) */ /*for logging only*/ let sql = Sql::new(); @@ -594,11 +600,7 @@ unsafe fn export_backup(context: &Context, dir: impl AsRef) -> Result<()> { /* error already logged */ ok_to_continue = false; - } else { - ok_to_continue = true; } - } else { - ok_to_continue = true; } if ok_to_continue { let mut total_files_cnt = 0; @@ -616,7 +618,6 @@ unsafe fn export_backup(context: &Context, dir: impl AsRef) -> Result<()> let mut processed_files_cnt = 0; for entry in dir_handle { if entry.is_err() { - ok_to_continue = true; break; } let entry = entry.unwrap(); @@ -684,7 +685,6 @@ unsafe fn export_backup(context: &Context, dir: impl AsRef) -> Result<()> } } else { info!(context, "Backup: No files to copy.",); - ok_to_continue = true; } if ok_to_continue { if sql @@ -704,10 +704,6 @@ unsafe fn export_backup(context: &Context, dir: impl AsRef) -> Result<()> }; } } - } - if closed { - context.sql.open(&context, &context.get_dbfile(), 0); - } if 0 != delete_dest_file { dc_delete_file(context, &dest_path_filename); }