index e9a1e496f58ce8722786070a171718757c3aaa55..76c7a5b8f8b3e096ebedf2748683ef6a4a4b9cbb 100644 (file)
VAR i: INTEGER; sep: BOOLEAN; err: unistd.int; s: sysstat.struct_stat; mode: sysstat.mode_t;
BEGIN
i := 0; err := 0;
- mode := ORD(BITS(511(*a=rwx*)) - BITS(sysstat.umask(0)));
+ mode := S.VAL((*!!!*)sysstat.mode_t, ORD(BITS(511(*a=rwx*)) - BITS(sysstat.umask(0))));
WHILE (err = 0) & (path[i] # 0X) DO
WHILE (path[i] # "/") & (path[i] # 0X) DO INC(i) END;
sep := path[i] = "/";
IF IsRegFile(s) THEN
if := GetFileByInode(s.st_ino);
IF (if = NIL) OR isShared & (if.state = shared) THEN
- mode := ORD(BITS(rwrwrw) - BITS(sysstat.umask(0)));
+ mode := S.VAL((*!!!*)sysstat.mode_t, ORD(BITS(rwrwrw) - BITS(sysstat.umask(0))));
IF isShared THEN flags := fcntl.O_RDONLY
ELSE flags := fcntl.O_RDWR
END;