Lines Matching defs:pe

235     struct pelem *pe, *pathend;
248 pe = xmalloc(sizeof(struct pelem));
249 setzero(pe, sizeof(struct pelem));
251 pathhead = pathend = pe;
253 pathend->pnext = pe;
254 pathend = pe;
257 pe->pname = p;
258 pe->psuf = "";
259 pe->pdef = "";
261 if (strcmp(pe->pname, syspath[i].name) == 0) {
262 pe->psuf = syspath[i].suffix;
263 pe->pdef = syspath[i].defalt;
273 pe->pdir[pe->pdirs] = p;
274 pe->pdirs++;
287 struct pelem *pe;
289 for (npath = 0, pe = pathhead; pe; npath++, pe = pe->pnext) {
290 len = strlen(pe->pname) + 1;
291 if (pe->pdirs == 0)
293 else for (i = 0; i < pe->pdirs; i++)
294 len += strlen(pe->pdir[i]) + 1;
297 for (q = pe->pname; *p = *q; p++, q++);
299 if (pe->pdirs != 0) {
300 for (i = 0; i < pe->pdirs; i++) {
301 for (q = pe->pdir[i]; *p = *q; p++, q++);
315 struct pelem *pe;
319 while (pe = pathhead) {
320 if (pe->pname) {
321 for (i = 0; i < pe->pdirs; i++) {
322 if (pe->pdir[i] == NULL)
324 p = pe->pdir[i];
325 pe->pdir[i] = NULL;
328 pe->pdirs = 0;
329 p = pe->pname;
330 pe->pname = NULL;
333 pathhead = pe->pnext;
334 xfree((ptr_t) pe);
348 struct pelem *pe;
351 for (pe = pathhead; pe; pe = pe->pnext) {
357 (void) strcat(new, pe->psuf);
359 (void) strcat(new, pe->pdef);
360 for (n = 0; n < pe->pdirs; n++) {
361 if (pe->pdir[n] == NULL)
363 p = pe->pdir[n];
364 pe->pdir[n] = NULL;
367 pe->pdirs = 0;
374 pe->pdir[pe->pdirs] = p;
375 pe->pdirs++;
391 struct pelem *pe;
394 for (pe = pathhead; pe; pe = pe->pnext) {
400 (void) strcat(new, pe->psuf);
402 n = locate(pe, new);
404 insert(pe, n, path);
406 insert(pe, 0, path);
414 struct pelem *pe;
416 for (pe = pathhead; pe; pe = pe->pnext) {
417 n = locate(pe, inpath);
419 insert(pe, n + 1, path);
422 inpath, pe->pname);
430 struct pelem *pe;
432 for (pe = pathhead; pe; pe = pe->pnext) {
433 n = locate(pe, inpath);
435 insert(pe, n, path);
438 inpath, pe->pname);
445 struct pelem *pe;
447 for (pe = pathhead; pe; pe = pe->pnext)
448 insert(pe, n, path);
452 insert(struct pelem *pe, int loc, char *key)
461 (void) strcat(new, pe->psuf);
465 for (i = pe->pdirs; i > loc; --i)
466 pe->pdir[i] = pe->pdir[i-1];
467 if (loc > pe->pdirs)
468 loc = pe->pdirs;
469 pe->pdir[loc] = new;
470 pe->pdirs++;
481 struct pelem *pe;
483 for (pe = pathhead; pe; pe = pe->pnext) {
484 n = locate(pe, path);
486 delete(pe, n);
489 path, pe->pname);
496 struct pelem *pe;
498 for (pe = pathhead; pe; pe = pe->pnext) {
499 if (n < pe->pdirs)
500 delete(pe, n);
504 n, pe->pname);
509 delete(struct pelem *pe, int n)
513 xfree((ptr_t) (pe->pdir[n]));
514 for (d = n; d < pe->pdirs - 1; d++)
515 pe->pdir[d] = pe->pdir[d+1];
516 --pe->pdirs;
527 struct pelem *pe;
529 for (pe = pathhead; pe; pe = pe->pnext) {
530 n = locate(pe, inpath);
532 change(pe, n, path);
535 inpath, pe->pname);
542 struct pelem *pe;
544 for (pe = pathhead; pe; pe = pe->pnext) {
545 if (n < pe->pdirs)
546 change(pe, n, path);
550 n, pe->pname);
555 change(struct pelem *pe, int loc, char *key)
563 (void) strcat(new, pe->psuf);
567 xfree((ptr_t) (pe->pdir[loc]));
568 pe->pdir[loc] = new;
576 locate(struct pelem *pe, char *key)
585 (void) strcat(realkey, pe->psuf);
588 for (i = 0; i < pe->pdirs; i++)
589 if (strcmp(pe->pdir[i], realkey) == 0)
591 return((i < pe->pdirs) ? i : -1);