From b316728804b9f2dcb9eea7d638628120b7cf9144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20V=C3=A9ril?= Date: Sat, 18 Jan 2025 14:26:55 +0100 Subject: [PATCH] Fix: assume all fields of DistributionInformation are accessible if no context --- wslplugins-rs/src/api/utils.rs | 10 +++++++--- wslplugins-rs/src/distribution_information.rs | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/wslplugins-rs/src/api/utils.rs b/wslplugins-rs/src/api/utils.rs index b22e581..33ea9d7 100644 --- a/wslplugins-rs/src/api/utils.rs +++ b/wslplugins-rs/src/api/utils.rs @@ -22,11 +22,15 @@ pub(crate) fn check_required_version_result( } pub(crate) fn check_required_version_result_from_context( - wsl_context: &WSLContext, + wsl_context: Option<&WSLContext>, required_version: &WSLVersion, ) -> Result<()> { - let current_version = wsl_context.api.version(); - check_required_version_result(current_version, required_version) + if let Some(context) = wsl_context { + let current_version = context.api.version(); + check_required_version_result(current_version, required_version) + } else { + Ok(()) + } } #[cfg(test)] diff --git a/wslplugins-rs/src/distribution_information.rs b/wslplugins-rs/src/distribution_information.rs index 24daa0b..281d306 100644 --- a/wslplugins-rs/src/distribution_information.rs +++ b/wslplugins-rs/src/distribution_information.rs @@ -55,10 +55,10 @@ impl DistributionInformation<'_> { /// # Returns /// - `Ok(u32)`: The PID of the init process. /// # Errors - /// [Error]: If the API version is insufficient. + /// [Error]: If the runtime version version is insufficient if no [WSLContext] found we assume returned value is accessible. pub fn init_pid(&self) -> Result { check_required_version_result_from_context( - WSLContext::get_current_or_panic(), + WSLContext::get_current(), &WSLVersion::new(2, 0, 5), )?; Ok(self.0.InitPid)