src/pxar/sequentail_decoder.rs: followup: cleanup S_IFMT masking
Signed-off-by: Christian Ebner <c.ebner@proxmox.com> Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
		
				
					committed by
					
						 Wolfgang Bumiller
						Wolfgang Bumiller
					
				
			
			
				
	
			
			
			
						parent
						
							9cb9e1b7db
						
					
				
				
					commit
					de2791868a
				
			| @ -804,6 +804,7 @@ impl<R: Read, F: Fn(&Path) -> Result<(), Error>> SequentialDecoder<R, F> { | |||||||
|  |  | ||||||
|         check_ca_header::<PxarEntry>(&head, PXAR_ENTRY)?; |         check_ca_header::<PxarEntry>(&head, PXAR_ENTRY)?; | ||||||
|         let entry: PxarEntry = self.read_item()?; |         let entry: PxarEntry = self.read_item()?; | ||||||
|  |         let ifmt = entry.mode as u32 & libc::S_IFMT; | ||||||
|  |  | ||||||
|         let mut child_pattern = Vec::new(); |         let mut child_pattern = Vec::new(); | ||||||
|         // If parent was a match, then children should be assumed to match too |         // If parent was a match, then children should be assumed to match too | ||||||
| @ -811,11 +812,7 @@ impl<R: Read, F: Fn(&Path) -> Result<(), Error>> SequentialDecoder<R, F> { | |||||||
|         // there are no match pattern. |         // there are no match pattern. | ||||||
|         let mut matched = parent_matched; |         let mut matched = parent_matched; | ||||||
|         if match_pattern.len() > 0 { |         if match_pattern.len() > 0 { | ||||||
|             match match_filename( |             match match_filename(filename, ifmt == libc::S_IFDIR, match_pattern)? { | ||||||
|                 filename, |  | ||||||
|                 entry.mode as u32 & libc::S_IFMT == libc::S_IFDIR, |  | ||||||
|                 match_pattern, |  | ||||||
|             )? { |  | ||||||
|                 (MatchType::None, _) => matched = MatchType::None, |                 (MatchType::None, _) => matched = MatchType::None, | ||||||
|                 (MatchType::Negative, _) => matched = MatchType::Negative, |                 (MatchType::Negative, _) => matched = MatchType::Negative, | ||||||
|                 (match_type, pattern) => { |                 (match_type, pattern) => { | ||||||
| @ -835,7 +832,7 @@ impl<R: Read, F: Fn(&Path) -> Result<(), Error>> SequentialDecoder<R, F> { | |||||||
|             (self.callback)(&full_path)?; |             (self.callback)(&full_path)?; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         match entry.mode as u32 & libc::S_IFMT { |         match ifmt { | ||||||
|             libc::S_IFDIR => { |             libc::S_IFDIR => { | ||||||
|                 self.restore_dir(base_path, dirs, entry, &filename, matched, &child_pattern) |                 self.restore_dir(base_path, dirs, entry, &filename, matched, &child_pattern) | ||||||
|             } |             } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user