diff --git a/src/dc_tools.rs b/src/dc_tools.rs index c6067ad7c..5eae390e4 100644 --- a/src/dc_tools.rs +++ b/src/dc_tools.rs @@ -381,11 +381,14 @@ pub(crate) fn dc_copy_file( } } -pub(crate) fn dc_create_folder(context: &Context, path: impl AsRef) -> bool { +pub(crate) fn dc_create_folder( + context: &Context, + path: impl AsRef, +) -> Result<(), std::io::Error> { let path_abs = dc_get_abs_path(context, &path); if !path_abs.exists() { match fs::create_dir_all(path_abs) { - Ok(_) => true, + Ok(_) => Ok(()), Err(err) => { warn!( context, @@ -393,11 +396,11 @@ pub(crate) fn dc_create_folder(context: &Context, path: impl AsRef Result<()> { context.free_ongoing(); bail!("Cannot create private key or private key not available."); } else { - dc_create_folder(context, ¶m); + dc_create_folder(context, ¶m)?; } } let path = Path::new(param);