From cbac452ce5897d314acb3cc60d41726b30f81bef Mon Sep 17 00:00:00 2001 From: Alex Franchuk Date: Wed, 1 Feb 2023 12:44:30 -0500 Subject: [PATCH] Make `MemoryMaps` non-exhaustive and add `MMapExtension::is_empty`. --- src/process/mod.rs | 8 ++++++++ src/process/stat.rs | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/process/mod.rs b/src/process/mod.rs index 07f22d1f..a8e35d61 100644 --- a/src/process/mod.rs +++ b/src/process/mod.rs @@ -560,6 +560,7 @@ impl MMapPath { /// Represents all entries in a `/proc//maps` or `/proc//smaps` file. #[derive(Debug, PartialEq, Eq, Clone)] #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))] +#[non_exhaustive] pub struct MemoryMaps { pub memory_maps: Vec, } @@ -733,6 +734,13 @@ pub struct MMapExtension { pub vm_flags: VmFlags, } +impl MMapExtension { + /// Return whether the extension information is empty. + pub fn is_empty(&self) -> bool { + self.map.is_empty() && self.vm_flags == VmFlags::NONE + } +} + impl Io { pub fn from_reader(r: R) -> ProcResult { let mut map = HashMap::new(); diff --git a/src/process/stat.rs b/src/process/stat.rs index 471a64a7..9e6363f8 100644 --- a/src/process/stat.rs +++ b/src/process/stat.rs @@ -3,7 +3,7 @@ use super::StatFlags; #[cfg(feature = "chrono")] use crate::TICKS_PER_SECOND; use crate::{from_iter, KernelVersion, ProcResult}; -use crate::{ProcError, KERNEL, PAGESIZE}; +use crate::{KERNEL, PAGESIZE}; #[cfg(feature = "serde1")] use serde::{Deserialize, Serialize};