4.3BSD/usr/contrib/spms/src/lib/libspms/test/readpld.a

!<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);
}