Lines Matching refs:fe
588 fact_modify(const char *fact, FILE *fd, factelem *fe) in fact_modify() argument
592 t = gmtime(&(fe->stat->st_mtime)); in fact_modify()
600 fact_perm(const char *fact, FILE *fd, factelem *fe) in fact_perm() argument
605 if (fe->stat->st_uid == geteuid()) { in fact_perm()
606 rok = ((fe->stat->st_mode & S_IRUSR) != 0); in fact_perm()
607 wok = ((fe->stat->st_mode & S_IWUSR) != 0); in fact_perm()
608 xok = ((fe->stat->st_mode & S_IXUSR) != 0); in fact_perm()
609 } else if (matchgroup(fe->stat->st_gid)) { in fact_perm()
610 rok = ((fe->stat->st_mode & S_IRGRP) != 0); in fact_perm()
611 wok = ((fe->stat->st_mode & S_IWGRP) != 0); in fact_perm()
612 xok = ((fe->stat->st_mode & S_IXGRP) != 0); in fact_perm()
614 rok = ((fe->stat->st_mode & S_IROTH) != 0); in fact_perm()
615 wok = ((fe->stat->st_mode & S_IWOTH) != 0); in fact_perm()
616 xok = ((fe->stat->st_mode & S_IXOTH) != 0); in fact_perm()
626 pdir = fe->pdirstat; in fact_perm()
631 len = strlcpy(realdir, fe->path, sizeof(realdir)); in fact_perm()
633 if (S_ISDIR(fe->stat->st_mode)) in fact_perm()
660 if (wok && CURCLASS_FLAGS_ISSET(upload) && S_ISREG(fe->stat->st_mode)) in fact_perm()
664 if (wok && CURCLASS_FLAGS_ISSET(modify) && S_ISDIR(fe->stat->st_mode)) in fact_perm()
672 if (S_ISDIR(fe->stat->st_mode)) { in fact_perm()
676 if ((dirp = opendir(fe->display)) == NULL) in fact_perm()
694 if (xok && S_ISDIR(fe->stat->st_mode)) in fact_perm()
702 if (rok && xok && S_ISDIR(fe->stat->st_mode)) in fact_perm()
706 if (wok && CURCLASS_FLAGS_ISSET(modify) && S_ISDIR(fe->stat->st_mode)) in fact_perm()
710 if (wok && CURCLASS_FLAGS_ISSET(modify) && S_ISDIR(fe->stat->st_mode)) in fact_perm()
714 if (rok && S_ISREG(fe->stat->st_mode)) in fact_perm()
718 if (wok && CURCLASS_FLAGS_ISSET(upload) && S_ISREG(fe->stat->st_mode)) in fact_perm()
725 fact_size(const char *fact, FILE *fd, factelem *fe) in fact_size() argument
728 if (S_ISREG(fe->stat->st_mode)) in fact_size()
729 cprintf(fd, "%s=" LLF ";", fact, (LLT)fe->stat->st_size); in fact_size()
733 fact_type(const char *fact, FILE *fd, factelem *fe) in fact_type() argument
737 switch (fe->stat->st_mode & S_IFMT) { in fact_type()
739 if (fe->flags & FE_MLSD) { in fact_type()
740 if ((fe->flags & FE_ISCURDIR) || ISDOTDIR(fe->display)) in fact_type()
742 else if (ISDOTDOTDIR(fe->display)) in fact_type()
765 S_ISBLK(fe->stat->st_mode) ? "blk" : "chr", in fact_type()
766 (ULLT)major(fe->stat->st_rdev), in fact_type()
767 (ULLT)minor(fe->stat->st_rdev)); in fact_type()
770 cprintf(fd, "OS.unix=UNKNOWN(0%o)", fe->stat->st_mode & S_IFMT); in fact_type()
777 fact_unique(const char *fact, FILE *fd, factelem *fe) in fact_unique() argument
783 (char *)&(fe->stat->st_dev), sizeof(dev_t)); in fact_unique()
785 (char *)&(fe->stat->st_ino), sizeof(ino_t)); in fact_unique()
802 mlsname(FILE *fp, factelem *fe) in mlsname() argument
810 (facttab[i].display)(facttab[i].name, fp, fe); in mlsname()
812 if ((fe->flags & FE_MLSD) && in mlsname()
813 !(fe->flags & FE_ISCURDIR) && !ISDOTDIR(fe->display)) { in mlsname()
818 if (realpath(fe->display, realfile) != NULL) in mlsname()
821 cprintf(fp, " %s\r\n", userf ? realfile : fe->display); in mlsname()