Lines Matching refs:tail
54 char *tail = (char *)name; /* I promise not to write to the original... */ in YExpandName() local
61 if (tail[0]=='$') { in YExpandName()
63 char delim = *(++tail); in YExpandName()
64 if (delim=='(') { delim = ')'; tail++; } in YExpandName()
65 else if (delim=='{') { delim='}'; tail++; } in YExpandName()
67 env = tail; in YExpandName()
68 while (*tail && *tail!=delim) tail++; in YExpandName()
69 head = Ygetenv( (env = p_strncat(0, env, tail-env)) ); in YExpandName()
71 if (*tail && delim!=DIR_SEP) tail++; in YExpandName()
72 tail = tail0 = p_strncat(head, tail, 0); in YExpandName()
78 if (tail[0]=='.') { in YExpandName()
80 if (!tail[1]) tail++; in YExpandName()
81 else if (tail[1]==DIR_SEP) tail += 2; in YExpandName()
82 } else if (tail[0]=='~') { in YExpandName()
83 char *user = tail++; in YExpandName()
84 while (tail[0]) if ((tail++)[0] == DIR_SEP) break; in YExpandName()
85 user = p_strncat(0, user, tail-user); in YExpandName()
89 } else if (!YIsAbsolute(tail)) { in YExpandName()
94 while (tail[0]=='.') { in YExpandName()
95 if (tail[1]=='.') { in YExpandName()
96 if (!tail[2]) { in YExpandName()
97 tail += 2; in YExpandName()
99 } else if (tail[2]==DIR_SEP) { in YExpandName()
100 tail += 3; in YExpandName()
103 } else if (tail[1]==DIR_SEP) { in YExpandName()
104 tail += 2; in YExpandName()
105 } else if (!tail[1]) { in YExpandName()
106 tail++; in YExpandName()
125 path = p_strncat(head, tail, 0); in YExpandName()