File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed
Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -73,14 +73,15 @@ impl Capabilities {
7373 . and_then ( |file| {
7474 let old_mode = file. metadata ( ) ?. mode ( ) ;
7575 let is_executable = old_mode & 0o100 == 0o100 ;
76- Ok ( is_executable && {
77- let new_mode = old_mode ^ 0o100 ;
78- match file. set_permissions ( PermissionsExt :: from_mode ( new_mode ) ) {
79- Ok ( ( ) ) => new_mode == file. metadata ( ) ?. mode ( ) ,
76+ let filesystem_agrees = {
77+ let toggled_exe_bit = old_mode ^ 0o100 ;
78+ match file. set_permissions ( PermissionsExt :: from_mode ( toggled_exe_bit ) ) {
79+ Ok ( ( ) ) => toggled_exe_bit == file. metadata ( ) ?. mode ( ) ,
8080 Err ( err) if err. kind ( ) == std:: io:: ErrorKind :: PermissionDenied => false ,
8181 Err ( err) => return Err ( err) ,
8282 }
83- } )
83+ } ;
84+ Ok ( is_executable && filesystem_agrees)
8485 } ) ;
8586 std:: fs:: remove_file ( test_path) ?;
8687 res
You can’t perform that action at this time.
0 commit comments