@@ -17,9 +17,14 @@ pub type Treesize = u32;
1717pub 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 ;
2023pub const MASK_SYSTEM : u8 = 0x04 ;
2124pub const MASK_WORLD : u8 = 0x08 ;
2225pub 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 */
2530pub const MAGICNUMCHAR : u8 = 0xFF ;
@@ -216,9 +221,7 @@ pub struct Version {
216221
217222impl 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