Lines Matching refs:cur
129 doff_t cur; /* offset of current entry */
615 printf("ADDDIRENT: was: %s (%d) this %d cur %d\n", \
621 printf("ADDDIRENT: now: %s (%d) this %d cur %d\n", \
677 ffs_build_dinode1(struct ufs1_dinode *dinp, dirbuf_t *dbufp, fsnode *cur,
682 struct stat *st = stampst.st_ino != 0 ? &stampst : &cur->inode->st;
685 dinp->di_mode = cur->inode->st.st_mode;
686 dinp->di_nlink = cur->inode->nlink;
687 dinp->di_size = cur->inode->st.st_size;
689 dinp->di_flags = cur->inode->st.st_flags;
692 dinp->di_uid = cur->inode->st.st_uid;
693 dinp->di_gid = cur->inode->st.st_gid;
706 if (cur == root) { /* "."; write dirbuf */
709 } else if (S_ISBLK(cur->type) || S_ISCHR(cur->type)) {
712 ufs_rw32(cur->inode->st.st_rdev, fsopts->needswap);
713 } else if (S_ISLNK(cur->type)) { /* symlink */
714 slen = strlen(cur->symlink);
716 memcpy(dinp->di_shortlink, cur->symlink, slen);
718 membuf = cur->symlink;
725 ffs_build_dinode2(struct ufs2_dinode *dinp, dirbuf_t *dbufp, fsnode *cur,
730 struct stat *st = stampst.st_ino != 0 ? &stampst : &cur->inode->st;
733 dinp->di_mode = cur->inode->st.st_mode;
734 dinp->di_nlink = cur->inode->nlink;
735 dinp->di_size = cur->inode->st.st_size;
737 dinp->di_flags = cur->inode->st.st_flags;
740 dinp->di_uid = cur->inode->st.st_uid;
741 dinp->di_gid = cur->inode->st.st_gid;
765 if (cur == root) { /* "."; write dirbuf */
768 } else if (S_ISBLK(cur->type) || S_ISCHR(cur->type)) {
771 ufs_rw64(cur->inode->st.st_rdev, fsopts->needswap);
772 } else if (S_ISLNK(cur->type)) { /* symlink */
773 slen = strlen(cur->symlink);
775 memcpy(dinp->di_shortlink, cur->symlink, slen);
777 membuf = cur->symlink;
786 fsnode *cur;
806 for (cur = root; cur != NULL; cur = cur->next) {
807 if ((cur->inode->flags & FI_ALLOCATED) == 0) {
808 cur->inode->flags |= FI_ALLOCATED;
809 if (cur == root && cur->parent != NULL)
810 cur->inode->ino = cur->parent->inode->ino;
812 cur->inode->ino = fsopts->curinode;
816 ffs_make_dirbuf(&dirbuf, cur->name, cur, fsopts->needswap);
817 if (cur == root) { /* we're at "."; add ".." */
819 cur->parent == NULL ? cur : cur->parent->first,
822 } else if (cur->child != NULL)
840 for (cur = root; cur != NULL; cur = cur->next) {
841 if (cur->inode->flags & FI_WRITTEN)
843 cur->inode->flags |= FI_WRITTEN;
845 if (cur->contents == NULL) {
846 if (snprintf(path, sizeof(path), "%s/%s/%s", cur->root,
847 cur->path, cur->name) >= (int)sizeof(path))
851 if (cur->child != NULL)
856 membuf = ffs_build_dinode1(&din.dp1, &dirbuf, cur,
859 membuf = ffs_build_dinode2(&din.dp2, &dirbuf, cur,
864 cur->inode->ino, inode_type(cur->type));
865 if (cur->inode->nlink > 1)
866 printf(", nlink %d", cur->inode->nlink);
871 ffs_write_file(&din, cur->inode->ino, membuf, fsopts);
872 } else if (S_ISREG(cur->type)) {
873 ffs_write_file(&din, cur->inode->ino,
874 (cur->contents) ? cur->contents : path, fsopts);
876 assert (! S_ISDIR(cur->type));
877 ffs_write_inode(&din, cur->inode->ino, fsopts);
886 for (cur = root; cur != NULL; cur = cur->next) {
887 if (cur->child == NULL)
890 cur->name) >= sizeof(path))
892 if (! ffs_populate_dir(path, cur->child, fsopts))
1026 printf("ffs_dump_dirbuf: dir %s size %d cur %d\n",
1027 dir, dbuf->size, dbuf->cur);
1061 dp = (struct direct *)(dbuf->buf + dbuf->cur);
1068 "ffs_make_dirbuf: dbuf siz %d cur %d lastlen %d\n"
1070 dbuf->size, dbuf->cur, llen,
1074 if (reclen + dbuf->cur + llen > roundup(dbuf->size, DIRBLKSIZ)) {
1082 dbuf->cur = dbuf->size - DIRBLKSIZ;
1085 dbuf->cur += llen;
1087 dp = (struct direct *)(dbuf->buf + dbuf->cur);
1089 dp->d_reclen = ufs_rw16(dbuf->size - dbuf->cur, needswap);