Lines Matching refs:dp

48 	struct directory *dp;  in dinit()  local
70 dp = (struct directory *)xcalloc(sizeof (struct directory), 1); in dinit()
71 dp->di_name = savestr(cp); in dinit()
72 dp->di_count = 0; in dinit()
73 dhead.di_next = dhead.di_prev = dp; in dinit()
74 dp->di_next = dp->di_prev = &dhead; in dinit()
76 dnewcwd(dp); in dinit()
85 struct directory *dp; in dodirs() local
101 dp = dcwd; in dodirs()
103 if (dp == &dhead) in dodirs()
106 dtildepr(hp, dp->di_name); in dodirs()
108 printf("%t", dp->di_name); in dodirs()
110 } while ((dp = dp->di_prev) != dcwd); in dodirs()
134 struct directory *dp; in dochngd() local
146 } else if ((dp = dfind(*v)) != 0) { in dochngd()
148 if (chdir_(dp->di_name) < 0) in dochngd()
149 Perror(dp->di_name); in dochngd()
155 dp = (struct directory *)xcalloc(sizeof (struct directory), 1); in dochngd()
156 dp->di_name = cp; in dochngd()
157 dp->di_count = 0; in dochngd()
158 dp->di_next = dcwd->di_next; in dochngd()
159 dp->di_prev = dcwd->di_prev; in dochngd()
160 dp->di_prev->di_next = dp; in dochngd()
161 dp->di_next->di_prev = dp; in dochngd()
164 dnewcwd(dp); in dochngd()
173 tchar *dp; in dfollow() local
210 for (dp = buf, p = *cdp; *dp++ = *p++; ) in dfollow()
212 dp[-1] = '/'; in dfollow()
213 for (p = cp; *dp++ = *p++; ) in dfollow()
277 for (dp = buf, p = *pv; *dp++ = *p++; ) in dfollow()
279 dp[-1] = '/'; in dfollow()
280 for (p = cp; *dp++ = *p++; ) in dfollow()
298 dp = value(cp); in dfollow()
299 if ((dp[0] == '/' || dp[0] == '.') && chdir_(dp) >= 0) { in dfollow()
301 cp = savestr(dp); in dfollow()
350 dp = (tchar *)xalloc((unsigned)(cwdlen + len + 2) * sizeof (tchar)); in dfollow()
351 for (p = dp, q = dcwd->di_name; *p++ = *q++; ) in dfollow()
360 cp = dp; in dfollow()
361 dp += cwdlen; in dfollow()
363 dp = cp; in dfollow()
364 return dcanon(cp, dp); in dfollow()
375 struct directory *dp; in dopushd() local
382 if ((dp = dcwd->di_prev) == &dhead) in dopushd()
383 dp = dhead.di_prev; in dopushd()
384 if (dp == dcwd) in dopushd()
386 if (chdir_(dp->di_name) < 0) in dopushd()
387 Perror(dp->di_name); in dopushd()
388 dp->di_prev->di_next = dp->di_next; in dopushd()
389 dp->di_next->di_prev = dp->di_prev; in dopushd()
390 dp->di_next = dcwd->di_next; in dopushd()
391 dp->di_prev = dcwd; in dopushd()
392 dcwd->di_next->di_prev = dp; in dopushd()
393 dcwd->di_next = dp; in dopushd()
394 } else if (dp = dfind(*v)) { in dopushd()
395 if (chdir_(dp->di_name) < 0) in dopushd()
396 Perror(dp->di_name); in dopushd()
401 dp = (struct directory *)xcalloc(sizeof (struct directory), 1); in dopushd()
402 dp->di_name = cp; in dopushd()
403 dp->di_count = 0; in dopushd()
404 dp->di_prev = dcwd; in dopushd()
405 dp->di_next = dcwd->di_next; in dopushd()
406 dcwd->di_next = dp; in dopushd()
407 dp->di_next->di_prev = dp; in dopushd()
409 dnewcwd(dp); in dopushd()
418 struct directory *dp; in dfind() local
434 for (dp = dcwd; i != 0; i--) { in dfind()
435 if ((dp = dp->di_prev) == &dhead) in dfind()
436 dp = dp->di_prev; in dfind()
437 if (dp == dcwd) in dfind()
440 return (dp); in dfind()
450 struct directory *dp, *p; in dopopd() local
457 dp = dcwd; in dopopd()
458 else if ((dp = dfind(*v)) == 0) in dopopd()
460 if (dp->di_prev == &dhead && dp->di_next == &dhead) in dopopd()
462 if (dp == dcwd) { in dopopd()
463 if ((p = dp->di_prev) == &dhead) in dopopd()
468 dp->di_prev->di_next = dp->di_next; in dopopd()
469 dp->di_next->di_prev = dp->di_prev; in dopopd()
470 if (dp == dcwd) in dopopd()
474 dfree(dp); in dopopd()
481 dfree(struct directory *dp) in dfree() argument
487 if (dp->di_count != 0) in dfree()
488 dp->di_next = dp->di_prev = 0; in dfree()
490 xfree(dp->di_name), xfree((tchar *)dp); in dfree()
727 dnewcwd(struct directory *dp) in dnewcwd() argument
733 dcwd = dp; in dnewcwd()