Lines Matching refs:dirnode
339 apply_specdir(const char *dir, NODE *specnode, fsnode *dirnode, int speconly) in apply_specdir() argument
346 assert(dirnode != NULL); in apply_specdir()
349 printf("apply_specdir: %s %p %p\n", dir, specnode, dirnode); in apply_specdir()
354 if (dirnode->type != S_IFDIR) in apply_specdir()
356 dir, dirnode->name); in apply_specdir()
358 apply_specentry(dir, specnode, dirnode); in apply_specdir()
367 assert(dirnode->name[0] == '.' && dirnode->name[1] == '\0'); in apply_specdir()
368 for (curfsnode = dirnode->next; curfsnode != NULL; curfsnode = next) { in apply_specdir()
390 for (curfsnode = dirnode->next; curfsnode != NULL; in apply_specdir()
445 curfsnode->parent = dirnode->parent; in apply_specdir()
446 curfsnode->first = dirnode; in apply_specdir()
447 curfsnode->next = dirnode->next; in apply_specdir()
448 dirnode->next = curfsnode; in apply_specdir()
473 apply_specentry(const char *dir, NODE *specnode, fsnode *dirnode) in apply_specentry() argument
477 assert(dirnode != NULL); in apply_specentry()
479 if (nodetoino(specnode->type) != dirnode->type) in apply_specentry()
482 inode_type(dirnode->type)); in apply_specentry()
485 printf("apply_specentry: %s/%s\n", dir, dirnode->name); in apply_specentry()
494 dirnode->inode->st.st_gid, specnode->st_gid); in apply_specentry()
495 dirnode->inode->st.st_gid = specnode->st_gid; in apply_specentry()
499 dirnode->inode->st.st_mode & ALLPERMS, specnode->st_mode); in apply_specentry()
500 dirnode->inode->st.st_mode &= ~ALLPERMS; in apply_specentry()
501 dirnode->inode->st.st_mode |= (specnode->st_mode & ALLPERMS); in apply_specentry()
506 (long long)dirnode->inode->st.st_size, in apply_specentry()
508 dirnode->inode->st.st_size = specnode->st_size; in apply_specentry()
511 assert(dirnode->symlink != NULL); in apply_specentry()
513 ASEPRINT("symlink", "%s", dirnode->symlink, specnode->slink); in apply_specentry()
514 free(dirnode->symlink); in apply_specentry()
515 dirnode->symlink = estrdup(specnode->slink); in apply_specentry()
519 (long)dirnode->inode->st.st_mtime, in apply_specentry()
521 dirnode->inode->st.st_mtime = specnode->st_mtimespec.tv_sec; in apply_specentry()
522 dirnode->inode->st.st_atime = specnode->st_mtimespec.tv_sec; in apply_specentry()
523 dirnode->inode->st.st_ctime = start_time.tv_sec; in apply_specentry()
525 dirnode->inode->st.st_mtimensec = specnode->st_mtimespec.tv_nsec; in apply_specentry()
526 dirnode->inode->st.st_atimensec = specnode->st_mtimespec.tv_nsec; in apply_specentry()
527 dirnode->inode->st.st_ctimensec = start_time.tv_nsec; in apply_specentry()
532 dirnode->inode->st.st_uid, specnode->st_uid); in apply_specentry()
533 dirnode->inode->st.st_uid = specnode->st_uid; in apply_specentry()
538 (unsigned long)dirnode->inode->st.st_flags, in apply_specentry()
540 dirnode->inode->st.st_flags = specnode->st_flags; in apply_specentry()
551 dirnode->flags |= FSNODE_F_HASSPEC; in apply_specentry()