Lines Matching refs:specnode
346 apply_specdir(const char *dir, NODE *specnode, fsnode *dirnode, int speconly) in apply_specdir() argument
352 assert(specnode != NULL); in apply_specdir()
356 printf("apply_specdir: %s %p %p\n", dir, specnode, dirnode); in apply_specdir()
358 if (specnode->type != F_DIR) in apply_specdir()
360 dir, specnode->name); in apply_specdir()
365 apply_specentry(dir, specnode, dirnode); in apply_specdir()
377 for (curnode = specnode->child; curnode != NULL; in apply_specdir()
392 for (curnode = specnode->child; curnode != NULL; in apply_specdir()
480 apply_specentry(const char *dir, NODE *specnode, fsnode *dirnode) in apply_specentry() argument
483 assert(specnode != NULL); in apply_specentry()
486 if (nodetoino(specnode->type) != dirnode->type) in apply_specentry()
488 dir, specnode->name, inode_type(nodetoino(specnode->type)), in apply_specentry()
499 if (specnode->flags & (F_GID | F_GNAME)) { in apply_specentry()
501 dirnode->inode->st.st_gid, specnode->st_gid); in apply_specentry()
502 dirnode->inode->st.st_gid = specnode->st_gid; in apply_specentry()
504 if (specnode->flags & F_MODE) { in apply_specentry()
506 dirnode->inode->st.st_mode & ALLPERMS, specnode->st_mode); in apply_specentry()
508 dirnode->inode->st.st_mode |= (specnode->st_mode & ALLPERMS); in apply_specentry()
511 if (specnode->flags & F_SIZE) { in apply_specentry()
514 (long long)specnode->st_size); in apply_specentry()
515 dirnode->inode->st.st_size = specnode->st_size; in apply_specentry()
517 if (specnode->flags & F_SLINK) { in apply_specentry()
519 assert(specnode->slink != NULL); in apply_specentry()
520 ASEPRINT("symlink", "%s", dirnode->symlink, specnode->slink); in apply_specentry()
522 dirnode->symlink = estrdup(specnode->slink); in apply_specentry()
524 if (specnode->flags & F_TIME) { in apply_specentry()
527 (long)specnode->st_mtimespec.tv_sec); in apply_specentry()
528 dirnode->inode->st.st_mtime = specnode->st_mtimespec.tv_sec; in apply_specentry()
529 dirnode->inode->st.st_atime = specnode->st_mtimespec.tv_sec; in apply_specentry()
532 dirnode->inode->st.st_mtimensec = specnode->st_mtimespec.tv_nsec; in apply_specentry()
533 dirnode->inode->st.st_atimensec = specnode->st_mtimespec.tv_nsec; in apply_specentry()
537 if (specnode->flags & (F_UID | F_UNAME)) { in apply_specentry()
539 dirnode->inode->st.st_uid, specnode->st_uid); in apply_specentry()
540 dirnode->inode->st.st_uid = specnode->st_uid; in apply_specentry()
542 if (specnode->flags & F_FLAGS) { in apply_specentry()
545 (unsigned long)specnode->st_flags); in apply_specentry()
546 FSINODE_ST_FLAGS(*dirnode->inode) = specnode->st_flags; in apply_specentry()