mirror of
https://github.com/hierynomus/sshj.git
synced 2025-12-06 23:30:55 +03:00
consolidate bitmask logic and fix subtle bug...
This commit is contained in:
@@ -68,13 +68,13 @@ public enum FilePermission {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isIn(int mask) {
|
public boolean isIn(int mask) {
|
||||||
return (mask & val) == mask;
|
return (mask & val) == val;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Set<FilePermission> fromMask(int mask) {
|
public static Set<FilePermission> fromMask(int mask) {
|
||||||
List<FilePermission> perms = new LinkedList<FilePermission>();
|
final List<FilePermission> perms = new LinkedList<FilePermission>();
|
||||||
for (FilePermission p : FilePermission.values())
|
for (FilePermission p : FilePermission.values())
|
||||||
if ((mask & p.val) == p.val)
|
if (p.isIn(mask))
|
||||||
perms.add(p);
|
perms.add(p);
|
||||||
return new HashSet<FilePermission>(perms);
|
return new HashSet<FilePermission>(perms);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user