Lines Matching defs:pe

236     struct pelem *pe, *pathend;
249 pe = xmalloc(sizeof(struct pelem));
250 setzero(pe, sizeof(struct pelem));
252 pathhead = pathend = pe;
254 pathend->pnext = pe;
255 pathend = pe;
258 pe->pname = p;
259 pe->psuf = "";
260 pe->pdef = "";
262 if (strcmp(pe->pname, syspath[i].name) == 0) {
263 pe->psuf = syspath[i].suffix;
264 pe->pdef = syspath[i].defalt;
274 pe->pdir[pe->pdirs] = p;
275 pe->pdirs++;
288 struct pelem *pe;
290 for (npath = 0, pe = pathhead; pe; npath++, pe = pe->pnext) {
291 len = strlen(pe->pname) + 1;
292 if (pe->pdirs == 0)
294 else for (i = 0; i < pe->pdirs; i++)
295 len += strlen(pe->pdir[i]) + 1;
298 for (q = pe->pname; *p = *q; p++, q++);
300 if (pe->pdirs != 0) {
301 for (i = 0; i < pe->pdirs; i++) {
302 for (q = pe->pdir[i]; *p = *q; p++, q++);
316 struct pelem *pe;
320 while (pe = pathhead) {
321 if (pe->pname) {
322 for (i = 0; i < pe->pdirs; i++) {
323 if (pe->pdir[i] == NULL)
325 p = pe->pdir[i];
326 pe->pdir[i] = NULL;
329 pe->pdirs = 0;
330 p = pe->pname;
331 pe->pname = NULL;
334 pathhead = pe->pnext;
335 xfree((ptr_t) pe);
349 struct pelem *pe;
352 for (pe = pathhead; pe; pe = pe->pnext) {
358 (void) strcat(new, pe->psuf);
360 (void) strcat(new, pe->pdef);
361 for (n = 0; n < pe->pdirs; n++) {
362 if (pe->pdir[n] == NULL)
364 p = pe->pdir[n];
365 pe->pdir[n] = NULL;
368 pe->pdirs = 0;
375 pe->pdir[pe->pdirs] = p;
376 pe->pdirs++;
392 struct pelem *pe;
395 for (pe = pathhead; pe; pe = pe->pnext) {
401 (void) strcat(new, pe->psuf);
403 n = locate(pe, new);
405 insert(pe, n, path);
407 insert(pe, 0, path);
415 struct pelem *pe;
417 for (pe = pathhead; pe; pe = pe->pnext) {
418 n = locate(pe, inpath);
420 insert(pe, n + 1, path);
423 inpath, pe->pname);
431 struct pelem *pe;
433 for (pe = pathhead; pe; pe = pe->pnext) {
434 n = locate(pe, inpath);
436 insert(pe, n, path);
439 inpath, pe->pname);
446 struct pelem *pe;
448 for (pe = pathhead; pe; pe = pe->pnext)
449 insert(pe, n, path);
453 insert(struct pelem *pe, int loc, char *key)
462 (void) strcat(new, pe->psuf);
466 for (i = pe->pdirs; i > loc; --i)
467 pe->pdir[i] = pe->pdir[i-1];
468 if (loc > pe->pdirs)
469 loc = pe->pdirs;
470 pe->pdir[loc] = new;
471 pe->pdirs++;
482 struct pelem *pe;
484 for (pe = pathhead; pe; pe = pe->pnext) {
485 n = locate(pe, path);
487 delete(pe, n);
490 path, pe->pname);
497 struct pelem *pe;
499 for (pe = pathhead; pe; pe = pe->pnext) {
500 if (n < pe->pdirs)
501 delete(pe, n);
505 n, pe->pname);
510 delete(struct pelem *pe, int n)
514 xfree((ptr_t) (pe->pdir[n]));
515 for (d = n; d < pe->pdirs - 1; d++)
516 pe->pdir[d] = pe->pdir[d+1];
517 --pe->pdirs;
528 struct pelem *pe;
530 for (pe = pathhead; pe; pe = pe->pnext) {
531 n = locate(pe, inpath);
533 change(pe, n, path);
536 inpath, pe->pname);
543 struct pelem *pe;
545 for (pe = pathhead; pe; pe = pe->pnext) {
546 if (n < pe->pdirs)
547 change(pe, n, path);
551 n, pe->pname);
556 change(struct pelem *pe, int loc, char *key)
564 (void) strcat(new, pe->psuf);
568 xfree((ptr_t) (pe->pdir[loc]));
569 pe->pdir[loc] = new;
577 locate(struct pelem *pe, char *key)
586 (void) strcat(realkey, pe->psuf);
589 for (i = 0; i < pe->pdirs; i++)
590 if (strcmp(pe->pdir[i], realkey) == 0)
592 return((i < pe->pdirs) ? i : -1);