Skip to content

Commit 5edbbf4

Browse files
committed
Several missing mask flags added, read_num() replaced with reach_uchar() for the mask flags, is_installed() checks for more suitable mask flags.
1 parent 762121c commit 5edbbf4

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

src/lib.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,14 @@ pub type Treesize = u32;
1717
pub type OffsetType = i64;
1818

1919
/* Mask Flags constants */
20+
pub const MASK_PACKAGE: u8 = 0x01;
21+
pub const MASK_PROFILE: u8 = 0x02;
22+
pub const MASK_HARD: u8 = MASK_PACKAGE | MASK_PROFILE;
2023
pub const MASK_SYSTEM: u8 = 0x04;
2124
pub const MASK_WORLD: u8 = 0x08;
2225
pub const MASK_WORLD_SETS: u8 = 0x10;
26+
pub const MASK_IN_PROFILE: u8 = 0x20;
27+
pub const MASK_MARKED: u8 = 0x40;
2328

2429
/* Magic Number and Version */
2530
pub const MAGICNUMCHAR: u8 = 0xFF;
@@ -216,9 +221,7 @@ pub struct Version {
216221

217222
impl Version {
218223
pub fn is_installed(&self) -> bool {
219-
(self.mask_flags & MASK_WORLD) != 0
220-
|| (self.mask_flags & MASK_WORLD_SETS) != 0
221-
|| (self.mask_flags & MASK_SYSTEM) != 0
224+
(self.mask_flags & MASK_IN_PROFILE) != 0 || (self.mask_flags & MASK_MARKED) != 0
222225
}
223226

224227
pub fn get_full_version(&self) -> String {
@@ -529,7 +532,7 @@ impl Database {
529532
eapi = self.read_hash_string(&hdr.eapi_hash)?;
530533
}
531534

532-
let mask_flags = self.read_num()? as u8;
535+
let mask_flags = self.read_uchar()?;
533536
let properties_flags = self.read_uchar()?;
534537
let restrict_flags = self.read_num()?;
535538
let keywords = self.read_hash_words(&hdr.keywords_hash)?;
@@ -847,13 +850,10 @@ mod tests {
847850
};
848851
assert!(!v.is_installed());
849852

850-
v.mask_flags = MASK_SYSTEM;
853+
v.mask_flags = MASK_IN_PROFILE;
851854
assert!(v.is_installed());
852855

853-
v.mask_flags = MASK_WORLD;
854-
assert!(v.is_installed());
855-
856-
v.mask_flags = MASK_WORLD_SETS;
856+
v.mask_flags = MASK_MARKED;
857857
assert!(v.is_installed());
858858
}
859859
}

0 commit comments

Comments
 (0)