Lines Matching defs:specnode
478 apply_specdir(const char *dir, NODE *specnode, fsnode *dirnode, int speconly)
484 assert(specnode != NULL);
488 printf("%s: %s %p %p\n", __func__, dir, specnode, dirnode);
490 if (specnode->type != F_DIR)
492 dir, specnode->name);
497 apply_specentry(dir, specnode, dirnode);
509 for (curnode = specnode->child; curnode != NULL;
530 /* now walk specnode->child matching up with dirnode */
531 for (curnode = specnode->child; curnode != NULL;
619 apply_specentry(const char *dir, NODE *specnode, fsnode *dirnode)
622 assert(specnode != NULL);
625 if (nodetoino(specnode->type) != dirnode->type)
628 dir, specnode->name, inode_type(nodetoino(specnode->type)),
639 if (specnode->flags & (F_GID | F_GNAME)) {
641 dirnode->inode->st.st_gid, specnode->st_gid);
642 dirnode->inode->st.st_gid = specnode->st_gid;
644 if (specnode->flags & F_MODE) {
646 dirnode->inode->st.st_mode & ALLPERMS, specnode->st_mode);
648 dirnode->inode->st.st_mode |= (specnode->st_mode & ALLPERMS);
651 if (specnode->flags & F_SIZE) {
654 (intmax_t)specnode->st_size);
655 dirnode->inode->st.st_size = specnode->st_size;
657 if (specnode->flags & F_SLINK) {
659 assert(specnode->slink != NULL);
660 ASEPRINT("symlink", "%s", dirnode->symlink, specnode->slink);
662 dirnode->symlink = estrdup(specnode->slink);
664 if (specnode->flags & F_TIME) {
667 (long)specnode->st_mtimespec.tv_sec);
668 dirnode->inode->st.st_mtime = specnode->st_mtimespec.tv_sec;
669 dirnode->inode->st.st_atime = specnode->st_mtimespec.tv_sec;
672 dirnode->inode->st.st_mtimensec = specnode->st_mtimespec.tv_nsec;
673 dirnode->inode->st.st_atimensec = specnode->st_mtimespec.tv_nsec;
677 if (specnode->flags & (F_UID | F_UNAME)) {
679 dirnode->inode->st.st_uid, specnode->st_uid);
680 dirnode->inode->st.st_uid = specnode->st_uid;
683 if (specnode->flags & F_FLAGS) {
686 (unsigned long)specnode->st_flags);
687 dirnode->inode->st.st_flags = (unsigned int)specnode->st_flags;
690 if (specnode->flags & F_DEV) {
693 (uintmax_t)specnode->st_rdev);
694 dirnode->inode->st.st_rdev = specnode->st_rdev;