Lines Matching defs:dirnode
478 apply_specdir(const char *dir, NODE *specnode, fsnode *dirnode, int speconly)
485 assert(dirnode != NULL);
488 printf("%s: %s %p %p\n", __func__, dir, specnode, dirnode);
493 if (dirnode->type != S_IFDIR)
495 dir, dirnode->name);
497 apply_specentry(dir, specnode, dirnode);
506 assert(dirnode->name[0] == '.' && dirnode->name[1] == '\0');
507 for (curfsnode = dirnode->next; curfsnode != NULL; curfsnode = next) {
530 /* now walk specnode->child matching up with dirnode */
535 for (curfsnode = dirnode->next; curfsnode != NULL;
590 curfsnode->parent = dirnode->parent;
591 curfsnode->first = dirnode;
592 curfsnode->next = dirnode->next;
593 dirnode->next = curfsnode;
619 apply_specentry(const char *dir, NODE *specnode, fsnode *dirnode)
623 assert(dirnode != NULL);
625 if (nodetoino(specnode->type) != dirnode->type)
629 inode_type(dirnode->type));
632 printf("%s: %s/%s\n", dir, __func__, dirnode->name);
641 dirnode->inode->st.st_gid, specnode->st_gid);
642 dirnode->inode->st.st_gid = specnode->st_gid;
646 dirnode->inode->st.st_mode & ALLPERMS, specnode->st_mode);
647 dirnode->inode->st.st_mode &= ~ALLPERMS;
648 dirnode->inode->st.st_mode |= (specnode->st_mode & ALLPERMS);
653 (intmax_t)dirnode->inode->st.st_size,
655 dirnode->inode->st.st_size = specnode->st_size;
658 assert(dirnode->symlink != NULL);
660 ASEPRINT("symlink", "%s", dirnode->symlink, specnode->slink);
661 free(dirnode->symlink);
662 dirnode->symlink = estrdup(specnode->slink);
666 (long)dirnode->inode->st.st_mtime,
668 dirnode->inode->st.st_mtime = specnode->st_mtimespec.tv_sec;
669 dirnode->inode->st.st_atime = specnode->st_mtimespec.tv_sec;
670 dirnode->inode->st.st_ctime = start_time.tv_sec;
672 dirnode->inode->st.st_mtimensec = specnode->st_mtimespec.tv_nsec;
673 dirnode->inode->st.st_atimensec = specnode->st_mtimespec.tv_nsec;
674 dirnode->inode->st.st_ctimensec = start_time.tv_nsec;
679 dirnode->inode->st.st_uid, specnode->st_uid);
680 dirnode->inode->st.st_uid = specnode->st_uid;
685 (unsigned long)dirnode->inode->st.st_flags,
687 dirnode->inode->st.st_flags = (unsigned int)specnode->st_flags;
692 (uintmax_t)dirnode->inode->st.st_rdev,
694 dirnode->inode->st.st_rdev = specnode->st_rdev;
698 dirnode->flags |= FSNODE_F_HASSPEC;