Lines Matching refs:cur

75 	fsnode		*first, *cur, *prev, *last;
95 first = cur = join;
96 while (cur->next != NULL)
97 cur = cur->next;
98 prev = cur;
135 cur = join->next;
137 if (cur == NULL || strcmp(cur->name, name) == 0)
139 if (cur == last) {
140 cur = NULL;
143 cur = cur->next;
145 if (cur != NULL) {
146 if (S_ISDIR(cur->type) &&
150 path, cur->child);
151 cur->child = walk_dir(root, rp, cur,
152 cur->child);
157 inode_type(cur->type));
161 cur = create_fsnode(root, dir, name, &stbuf);
162 cur->parent = parent;
165 cur->next = first;
166 first = cur;
168 prev = cur;
169 cur->first = first;
172 prev->next = cur;
173 prev = cur;
175 first = cur;
176 cur->first = first;
177 if (S_ISDIR(cur->type)) {
178 cur->child = walk_dir(root, rp, cur, NULL);
185 curino = link_check(cur->inode);
187 free(cur->inode);
188 cur->inode = curino;
189 cur->inode->nlink++;
196 if (S_ISLNK(cur->type)) {
204 if ((cur->symlink = strdup(slink)) == NULL)
210 for (cur = first->next; cur != NULL; cur = cur->next)
211 cur->first = first;
221 fsnode *cur;
223 if ((cur = calloc(1, sizeof(fsnode))) == NULL ||
224 (cur->path = strdup(path)) == NULL ||
225 (cur->name = strdup(name)) == NULL ||
226 (cur->inode = calloc(1, sizeof(fsinode))) == NULL)
228 cur->root = root;
229 cur->type = stbuf->st_mode & S_IFMT;
230 cur->inode->nlink = 1;
231 cur->inode->st = *stbuf;
232 return (cur);
243 fsnode *cur, *next;
258 for (cur = node->first; cur->next; cur = cur->next) {
259 if (cur->next == node) {
260 cur->next = node->next;
267 for (cur = node; cur != NULL; cur = next) {
268 next = cur->next;
269 if (cur->child) {
270 cur->child->parent = NULL;
271 free_fsnodes(cur->child);
273 if (cur->inode->nlink-- == 1)
274 free(cur->inode);
275 if (cur->symlink)
276 free(cur->symlink);
277 free(cur->path);
278 free(cur->name);
279 free(cur);
545 * dump the fsnodes from `cur'
550 fsnode *cur;
554 for (cur = root; cur != NULL; cur = cur->next) {
555 if (snprintf(path, sizeof(path), "%s/%s", cur->path,
556 cur->name) >= (int)sizeof(path))
560 printf("cur=%8p parent=%8p first=%8p ",
561 cur, cur->parent, cur->first);
562 printf("%7s: %s", inode_type(cur->type), path);
563 if (S_ISLNK(cur->type)) {
564 assert(cur->symlink != NULL);
565 printf(" -> %s", cur->symlink);
567 assert (cur->symlink == NULL);
569 if (cur->inode->nlink > 1)
570 printf(", nlinks=%d", cur->inode->nlink);
573 if (cur->child) {
574 assert (cur->type == S_IFDIR);
575 dump_fsnodes(cur->child);