From f91b93bdb0356e0ecbd643ff4e946509358f7743 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Wed, 31 May 2023 13:36:24 -0700 Subject: [PATCH] APFS volumes don't necessarily have names (#490) --- src/action/macos/create_apfs_volume.rs | 2 +- src/action/macos/encrypt_apfs_volume.rs | 2 +- src/os/darwin.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/action/macos/create_apfs_volume.rs b/src/action/macos/create_apfs_volume.rs index 10fc93f..1a15d86 100644 --- a/src/action/macos/create_apfs_volume.rs +++ b/src/action/macos/create_apfs_volume.rs @@ -32,7 +32,7 @@ impl CreateApfsVolume { plist::from_bytes(&output.stdout).map_err(Self::error)?; for container in parsed.containers { for volume in container.volumes { - if volume.name == name { + if volume.name.as_ref() == Some(&name) { return Ok(StatefulAction::completed(Self { disk: disk.as_ref().to_path_buf(), name, diff --git a/src/action/macos/encrypt_apfs_volume.rs b/src/action/macos/encrypt_apfs_volume.rs index 3aa69b2..87f349d 100644 --- a/src/action/macos/encrypt_apfs_volume.rs +++ b/src/action/macos/encrypt_apfs_volume.rs @@ -83,7 +83,7 @@ impl EncryptApfsVolume { plist::from_bytes(&output.stdout).map_err(Self::error)?; for container in parsed.containers { for volume in container.volumes { - if volume.name == name { + if volume.name.as_ref() == Some(&name) { match volume.encryption == false { true => { return Ok(StatefulAction::completed(Self { disk, name })); diff --git a/src/os/darwin.rs b/src/os/darwin.rs index 5612084..601769f 100644 --- a/src/os/darwin.rs +++ b/src/os/darwin.rs @@ -23,6 +23,6 @@ pub struct DiskUtilApfsContainer { #[derive(serde::Deserialize, Clone, Debug)] #[serde(rename_all = "PascalCase")] pub struct DiskUtilApfsListVolume { - pub name: String, + pub name: Option, pub encryption: bool, }