mirror of
https://git.proxmox.com/git/vma-to-pbs
synced 2025-08-06 17:40:42 +00:00
correctly handle optional string parameters
one of the downsides of going via the C API here - on has to be careful to no accidentally drop CStrings while also wanting to use them via pointers.. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
1e75997eaa
commit
cafa0d9741
@ -71,11 +71,18 @@ fn create_pbs_backup_task(args: BackupVmaToPbsArgs) -> Result<*mut ProxmoxBackup
|
|||||||
let pbs_password_cstr = CString::new(args.pbs_password)?;
|
let pbs_password_cstr = CString::new(args.pbs_password)?;
|
||||||
let fingerprint_cstr = CString::new(args.fingerprint)?;
|
let fingerprint_cstr = CString::new(args.fingerprint)?;
|
||||||
let keyfile_cstr = args.keyfile.map(|v| CString::new(v).unwrap());
|
let keyfile_cstr = args.keyfile.map(|v| CString::new(v).unwrap());
|
||||||
let keyfile_ptr = keyfile_cstr.map(|v| v.as_ptr()).unwrap_or(ptr::null());
|
let keyfile_ptr = keyfile_cstr
|
||||||
|
.as_ref()
|
||||||
|
.map(|v| v.as_ptr())
|
||||||
|
.unwrap_or(ptr::null());
|
||||||
let key_password_cstr = args.key_password.map(|v| CString::new(v).unwrap());
|
let key_password_cstr = args.key_password.map(|v| CString::new(v).unwrap());
|
||||||
let key_password_ptr = key_password_cstr.map(|v| v.as_ptr()).unwrap_or(ptr::null());
|
let key_password_ptr = key_password_cstr
|
||||||
|
.as_ref()
|
||||||
|
.map(|v| v.as_ptr())
|
||||||
|
.unwrap_or(ptr::null());
|
||||||
let master_keyfile_cstr = args.master_keyfile.map(|v| CString::new(v).unwrap());
|
let master_keyfile_cstr = args.master_keyfile.map(|v| CString::new(v).unwrap());
|
||||||
let master_keyfile_ptr = master_keyfile_cstr
|
let master_keyfile_ptr = master_keyfile_cstr
|
||||||
|
.as_ref()
|
||||||
.map(|v| v.as_ptr())
|
.map(|v| v.as_ptr())
|
||||||
.unwrap_or(ptr::null());
|
.unwrap_or(ptr::null());
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user