@@ -1063,12 +1063,12 @@ abstract static class ChmodNode extends PythonBuiltinNode {
1063
1063
private final BranchProfile gotException = BranchProfile .create ();
1064
1064
1065
1065
@ Specialization
1066
- Object chmod (String path , int mode , @ SuppressWarnings ("unused" ) PNone dir_fd , @ SuppressWarnings ("unused" ) PNone follow_symlinks ) {
1066
+ Object chmod (String path , long mode , @ SuppressWarnings ("unused" ) PNone dir_fd , @ SuppressWarnings ("unused" ) PNone follow_symlinks ) {
1067
1067
return chmod (path , mode , dir_fd , true );
1068
1068
}
1069
1069
1070
1070
@ Specialization
1071
- Object chmod (String path , int mode , @ SuppressWarnings ("unused" ) PNone dir_fd , boolean follow_symlinks ) {
1071
+ Object chmod (String path , long mode , @ SuppressWarnings ("unused" ) PNone dir_fd , boolean follow_symlinks ) {
1072
1072
Set <PosixFilePermission > permissions = modeToPermissions (mode );
1073
1073
try {
1074
1074
TruffleFile truffleFile = getContext ().getEnv ().getTruffleFile (path );
@@ -1086,10 +1086,10 @@ Object chmod(String path, int mode, @SuppressWarnings("unused") PNone dir_fd, bo
1086
1086
}
1087
1087
1088
1088
@ TruffleBoundary (allowInlining = true )
1089
- private static Set <PosixFilePermission > modeToPermissions (int mode ) {
1090
- Set <PosixFilePermission > permissions = new HashSet <>(Arrays .asList (otherBitsToPermission [mode & 7 ]));
1091
- permissions .addAll (Arrays .asList (groupBitsToPermission [mode >> 3 & 7 ]));
1092
- permissions .addAll (Arrays .asList (ownerBitsToPermission [mode >> 6 & 7 ]));
1089
+ private static Set <PosixFilePermission > modeToPermissions (long mode ) {
1090
+ Set <PosixFilePermission > permissions = new HashSet <>(Arrays .asList (otherBitsToPermission [( int ) ( mode & 7 ) ]));
1091
+ permissions .addAll (Arrays .asList (groupBitsToPermission [( int ) ( mode >> 3 & 7 ) ]));
1092
+ permissions .addAll (Arrays .asList (ownerBitsToPermission [( int ) ( mode >> 6 & 7 ) ]));
1093
1093
return permissions ;
1094
1094
}
1095
1095
}
0 commit comments