!<arch> Ireadpld 418696428 968 27 100644 2206 ` ...|:^^:dp=.:dt=project/root:dd=SPMS Software Project Management System: ....|:^^:dp=..: include|:dp=include:dt=include/src:dd=header files: lib|:dp=lib:dt=binary:dd=makefile templates, object code libraries: work|:dp=work:dt=workbench:dd=SPMS workbench: src|:dp=src:dt=:dd=source: binsrc|:dp=src/bin:dt=:dd=command source: libsrc|:dp=src/lib:dt=:dd=library source: libslist|:^^:dp=src/lib/libslist:dt=: libspms|:^^:dp=src/lib/libspms:dt=: libtree|:^^:dp=src/lib/libtree:dt=: libpdb|:^^:dp=src/lib/libpdb:dt=: mkmf|:dp=src/bin/mkmf:dt=cmd/make.2/src.cmd:dd=mkmf - makefile editor: mkproject|:dp=src/bin/mkproject:dt=cmd/make.2/src.cmd:dd=mkproject - make a project root directory: pd|:dp=src/bin/pd:dt=cmd/make.2/src.cmd:dd=pd - change current project directory: pmkdir|:dp=src/bin/pmkdir:dt=cmd/make.2/src.cmd:dd=pmkdir - make a project directory: pcp|:dp=src/bin/pcp:dt=cmd/make.2/src.cmd:dd=pcp, pcopy - copy files: pmv|:dp=src/bin/pmv:dt=cmd/make.2/src.cmd:dd=pmv, pmove - move or rename files: ppd|:dp=src/bin/ppd:dt=cmd/make.2/src.cmd:dd=ppd - list project directories: chproject|:dp=src/bin/chproject:dt=cmd/make.2/src.cmd:dd=chproject - change current project: pwp|:dp=src/bin/pwp:dt=cmd/make.2/src.cmd:dd=pwp - path to working project: plog|:dp=src/bin/plog:dt=cmd/make.2/src.cmd:dd=plog - record, edit, print progress of a project: pexec|:dp=src/bin/pexec:dt=cmd/src.cmd:dd=pexec - execute command over project hierarchy: man|:dp=man:dt=:dd=manual: pfind|:dp=src/bin/pfind:dt=cmd/make.2/src.cmd:dd=pfind - find files in a project: pdiff|:dp=src/bin/pdiff:dt=cmd/make.2/src.cmd:dd=pdiff - differential project comparator: mtime|:dp=src/bin/mtime:dt=cmd/make.2/src.cmd:dd=mtime - change last-modified file times: phelp|:dp=src/bin/phelp:dt=cmd/make.2/src.cmd:dd=phelp - on-line help for a project: prmdir|:dp=src/bin/prmdir:dt=cmd/make.2/src.cmd:dd=prmdir - remove a project directory: rmproject|:dp=src/bin/rmproject:dt=cmd/make.2/src.cmd:dd=rmproject - remove a project root directory: help|:dp=help:dt=:dd=help topics: libhash|:^^:dp=src/lib/libhash: man1|:dp=man/man1:dt=man.1:dd=command manual: man3|:dp=man/man3:dt=man.3:dd=library manual: bin|:dp=bin:dt=binary:dd=SPMS maintenance commands: Oreadpld 418696428 968 27 100644 4342 ` ... ^^ . project/root SPMS Software Project Management System .... ^^ .. include include include/src header files lib lib binary makefile templates, object code libraries work work workbench SPMS workbench src src source binsrc src/bin command source libsrc src/lib library source libslist ^^ src/lib/libslist libspms ^^ src/lib/libspms libtree ^^ src/lib/libtree libpdb ^^ src/lib/libpdb mkmf src/bin/mkmf cmd/make.2/src.cmd mkmf - makefile editor mkproject src/bin/mkproject cmd/make.2/src.cmd mkproject - make a project root directory pd src/bin/pd cmd/make.2/src.cmd pd - change current project directory pmkdir src/bin/pmkdir cmd/make.2/src.cmd pmkdir - make a project directory pcp src/bin/pcp cmd/make.2/src.cmd pcp, pcopy - copy files pmv src/bin/pmv cmd/make.2/src.cmd pmv, pmove - move or rename files ppd src/bin/ppd cmd/make.2/src.cmd ppd - list project directories chproject src/bin/chproject cmd/make.2/src.cmd chproject - change current project pwp src/bin/pwp cmd/make.2/src.cmd pwp - path to working project plog src/bin/plog cmd/make.2/src.cmd plog - record, edit, print progress of a project pexec src/bin/pexec cmd/src.cmd pexec - execute command over project hierarchy man man manual pfind src/bin/pfind cmd/make.2/src.cmd pfind - find files in a project pdiff src/bin/pdiff cmd/make.2/src.cmd pdiff - differential project comparator mtime src/bin/mtime cmd/make.2/src.cmd mtime - change last-modified file times phelp src/bin/phelp cmd/make.2/src.cmd phelp - on-line help for a project prmdir src/bin/prmdir cmd/make.2/src.cmd prmdir - remove a project directory rmproject src/bin/rmproject cmd/make.2/src.cmd rmproject - remove a project root directory help help help topics libhash ^^ src/lib/libhash man1 man/man1 man.1 command manual man3 man/man3 man.3 library manual bin bin binary SPMS maintenance commands include include include/src header files mkmf src/bin/mkmf cmd/make.2/src.cmd mkmf - makefile editor mkproject src/bin/mkproject cmd/make.2/src.cmd mkproject - make a project root directory pd src/bin/pd cmd/make.2/src.cmd pd - change current project directory pmkdir src/bin/pmkdir cmd/make.2/src.cmd pmkdir - make a project directory pcp src/bin/pcp cmd/make.2/src.cmd pcp, pcopy - copy files pmv src/bin/pmv cmd/make.2/src.cmd pmv, pmove - move or rename files ppd src/bin/ppd cmd/make.2/src.cmd ppd - list project directories chproject src/bin/chproject cmd/make.2/src.cmd chproject - change current project pwp src/bin/pwp cmd/make.2/src.cmd pwp - path to working project plog src/bin/plog cmd/make.2/src.cmd plog - record, edit, print progress of a project pexec src/bin/pexec cmd/src.cmd pexec - execute command over project hierarchy pfind src/bin/pfind cmd/make.2/src.cmd pfind - find files in a project pdiff src/bin/pdiff cmd/make.2/src.cmd pdiff - differential project comparator mtime src/bin/mtime cmd/make.2/src.cmd mtime - change last-modified file times phelp src/bin/phelp cmd/make.2/src.cmd phelp - on-line help for a project prmdir src/bin/prmdir cmd/make.2/src.cmd prmdir - remove a project directory rmproject src/bin/rmproject cmd/make.2/src.cmd rmproject - remove a project root directory mkmf src/bin/mkmf cmd/make.2/src.cmd mkmf - makefile editor mkproject src/bin/mkproject cmd/make.2/src.cmd mkproject - make a project root directory pd src/bin/pd cmd/make.2/src.cmd pd - change current project directory pmkdir src/bin/pmkdir cmd/make.2/src.cmd pmkdir - make a project directory pcp src/bin/pcp cmd/make.2/src.cmd pcp, pcopy - copy files pmv src/bin/pmv cmd/make.2/src.cmd pmv, pmove - move or rename files ppd src/bin/ppd cmd/make.2/src.cmd ppd - list project directories chproject src/bin/chproject cmd/make.2/src.cmd chproject - change current project pwp src/bin/pwp cmd/make.2/src.cmd pwp - path to working project plog src/bin/plog cmd/make.2/src.cmd plog - record, edit, print progress of a project pfind src/bin/pfind cmd/make.2/src.cmd pfind - find files in a project pdiff src/bin/pdiff cmd/make.2/src.cmd pdiff - differential project comparator mtime src/bin/mtime cmd/make.2/src.cmd mtime - change last-modified file times phelp src/bin/phelp cmd/make.2/src.cmd phelp - on-line help for a project prmdir src/bin/prmdir cmd/make.2/src.cmd prmdir - remove a project directory rmproject src/bin/rmproject cmd/make.2/src.cmd rmproject - remove a project root directory Treadpld.c 418696431 968 27 100644 1691 ` /* * readpld() */ #include <stdio.h> #include "path.h" #include "pdb.h" #include "pld.h" #include "yesno.h" char *PGN = "Treadpld"; /* program name */ main() { char *pdtfind(); /* find type label in buffer */ int closepdb(); /* close database */ PATH *path; /* pathname struct pointer */ PATH *readpld(); /* read next alias+pathname */ PDB *mustopenpdb(); /* must open database or die */ PDB *pdbp; /* database stream */ void rewindpdb(); /* rewind database */ pdbp = mustopenpdb("Ireadpld", ".", "r"); while ((path = readpld(pdbp)) != NULL) { printf("%s", path->p_alias); if (path->p_mode == P_IFPROOT) printf(" %s", PROOTDIR); printf(" %s", path->p_path); if (*path->p_type != '\0') printf(" %s", path->p_type); if (*path->p_desc != '\0') printf(" %s", path->p_desc); printf("\n"); } /* print only directories with `src.*' labels */ rewindpdb(pdbp); while ((path = readpld(pdbp)) != NULL) { if (pdtfind("src", path->p_type) != NULL) { printf("%s", path->p_alias); if (path->p_mode == P_IFPROOT) printf(" %s", PROOTDIR); printf(" %s", path->p_path); printf(" %s", path->p_type); if (*path->p_desc != '\0') printf(" %s", path->p_desc); printf("\n"); } } /* print only directories with `make.2' labels */ rewindpdb(pdbp); while ((path = readpld(pdbp)) != NULL) { if (pdtfind("make.2", path->p_type) != NULL) { printf("%s", path->p_alias); if (path->p_mode == P_IFPROOT) printf(" %s", PROOTDIR); printf(" %s", path->p_path); printf(" %s", path->p_type); if (*path->p_desc != '\0') printf(" %s", path->p_desc); printf("\n"); } } closepdb(pdbp); exit(0); }