Lines Matching refs:ep
86 struct entry *ep;
90 for (ep = entry[inum % entrytblsize]; ep != NULL; ep = ep->e_next)
91 if (ep->e_ino == inum)
92 return (ep);
146 struct entry *ep;
152 for (ep = lookupino(UFS_ROOTINO); ep != NULL; ep = ep->e_entries) {
156 for ( ; ep != NULL; ep = ep->e_sibling)
157 if (strcmp(ep->e_name, buf) == 0)
159 if (ep == NULL)
162 return (ep);
173 struct entry *ep;
180 ep = lookupname(name);
182 if (ep == NULL)
184 if (ep->e_type != NODE)
186 return (ep);
193 myname(struct entry *ep)
198 for (cp = &namebuf[MAXPATHLEN - 2]; cp > &namebuf[ep->e_namlen]; ) {
199 cp -= ep->e_namlen;
200 memmove(cp, ep->e_name, (long)ep->e_namlen);
201 if (ep == lookupino(UFS_ROOTINO))
204 ep = ep->e_parent;
222 struct entry *np, *ep;
228 for (ep = (struct entry *)((char *)np + pagesize) - 1;
229 np <= ep; np++) {
239 ep = lookupparent(name);
240 if (ep == NULL) {
251 np->e_parent = ep;
252 np->e_sibling = ep->e_entries;
253 ep->e_entries = np;
255 ep = lookupino(inum);
256 if (ep == NULL)
259 np->e_links = ep->e_links;
260 ep->e_links = np;
273 freeentry(struct entry *ep)
278 if (ep->e_flags != REMOVED)
279 badentry(ep, "not marked REMOVED");
280 if (ep->e_type == NODE) {
281 if (ep->e_links != NULL)
282 badentry(ep, "freeing referenced directory");
283 if (ep->e_entries != NULL)
284 badentry(ep, "freeing non-empty directory");
286 if (ep->e_ino != 0) {
287 np = lookupino(ep->e_ino);
289 badentry(ep, "lookupino failed");
290 if (np == ep) {
291 inum = ep->e_ino;
293 if (ep->e_links != NULL)
294 addino(inum, ep->e_links);
297 if (np->e_links == ep) {
298 np->e_links = ep->e_links;
303 badentry(ep, "link not found");
306 removeentry(ep);
307 freename(ep->e_name);
308 ep->e_next = freelist;
309 freelist = ep;
316 moveentry(struct entry *ep, const char *newname)
323 badentry(ep, "cannot move ROOT");
324 if (np != ep->e_parent) {
325 removeentry(ep);
326 ep->e_parent = np;
327 ep->e_sibling = np->e_entries;
328 np->e_entries = ep;
331 freename(ep->e_name);
332 ep->e_name = savename(cp);
333 ep->e_namlen = strlen(cp);
334 if (strcmp(gentempname(ep), ep->e_name) == 0)
335 ep->e_flags |= TMPNAME;
337 ep->e_flags &= ~TMPNAME;
344 removeentry(struct entry *ep)
348 np = ep->e_parent;
349 if (np->e_entries == ep) {
350 np->e_entries = ep->e_sibling;
353 if (np->e_sibling == ep) {
354 np->e_sibling = ep->e_sibling;
359 badentry(ep, "cannot find entry in parent list");
393 char *cp, *ep;
403 for (siz = allocsize(len), ep = (cp + pagesize) - siz;
404 cp <= ep; cp += siz) {
451 struct entry *ep, *tep;
473 for (ep = lookupino(i); ep != NULL; ep = ep->e_links) {
474 ep->e_index = mynum++;
475 (void) fwrite(ep->e_name, sizeof(char),
476 (int)allocsize(ep->e_namlen), fd);
485 for (ep = lookupino(i); ep != NULL; ep = ep->e_links) {
486 memmove(tep, ep, (long)sizeof(struct entry));
488 stroff += allocsize(ep->e_namlen);
490 ep->e_parent->e_index;
491 if (ep->e_links != NULL)
493 ep->e_links->e_index;
494 if (ep->e_sibling != NULL)
496 ep->e_sibling->e_index;
497 if (ep->e_entries != NULL)
499 ep->e_entries->e_index;
500 if (ep->e_next != NULL)
502 ep->e_next->e_index;
540 struct entry *ep;
554 ep = addentry(".", UFS_ROOTINO, NODE);
555 ep->e_flags |= NEW;
616 for (ep = &baseep[1]; ep < lep; ep++) {
617 ep->e_name = base + (long)ep->e_name;
618 ep->e_parent = &baseep[(long)ep->e_parent];
619 if (ep->e_sibling != NULL)
620 ep->e_sibling = &baseep[(long)ep->e_sibling];
621 if (ep->e_links != NULL)
622 ep->e_links = &baseep[(long)ep->e_links];
623 if (ep->e_entries != NULL)
624 ep->e_entries = &baseep[(long)ep->e_entries];
625 if (ep->e_next != NULL)
626 ep->e_next = &baseep[(long)ep->e_next];