rfc:enumset

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
rfc:enumset [2021/03/14 08:12] – example added bwoebirfc:enumset [2021/03/14 08:16] bwoebi
Line 179: Line 179:
     case OWNER_EXEC = 0100; case OWNER_WRITE = 0200; case OWNER_READ = 0400;     case OWNER_EXEC = 0100; case OWNER_WRITE = 0200; case OWNER_READ = 0400;
          
-    static function toInt(EnumSet<FilePerm> $perms) {+    static function toInt(EnumSet<FilePerm> $perms) : int {
         $bits = 0;         $bits = 0;
         foreach ($perms as $perm) {         foreach ($perms as $perm) {
Line 187: Line 187:
     }     }
          
-    static function fromInt(int $bits) {+    static function fromInt(int $bits) : EnumSet<FilePerm> {
         $perms = new EnumSet<FilePerm>;         $perms = new EnumSet<FilePerm>;
         foreach (self::cases() as $perm) {         foreach (self::cases() as $perm) {
Line 201: Line 201:
 $perms = FilePerm::fromInt($mode); // OTHER_READ | GROUP_READ | OWNER_WRITE | OWNER_READ $perms = FilePerm::fromInt($mode); // OTHER_READ | GROUP_READ | OWNER_WRITE | OWNER_READ
  
-$perms &= OWNER_READ | OWNER_WRITE | OWNER_EXEC; // dismiss all but owner permissions+$perms &FilePerm::OWNER_READ | FilePerm::OWNER_WRITE | FilePerm::OWNER_EXEC; // dismiss all but owner permissions
  
 chmod($someFile, FilePerm::toInt($perms)); // saving 0600 chmod($someFile, FilePerm::toInt($perms)); // saving 0600
rfc/enumset.txt · Last modified: 2021/03/14 13:37 by bwoebi