!<arch> Ipdtyp 418696382 968 27 100644 663 ` ...|:^^:dp=.:dd=SPMS Software Project Management System:dt=project: ....|:^^:dp=..: bin|:dp=bin:dt=:dd=: include|:dp=include:dt=src:dd=: lib|:dp=lib:dt=:dd=: work|:dp=work:dt=:dd=: src|:dp=src:dt=:dd=: cmd|:dp=src/cmd:dt=:dd=: srclib|:dp=src/lib:dt=:dd=: libpdb|:^^:dp=src/lib/libpdb: libslist|:^^:dp=src/lib/libslist: libspms|:^^:dp=src/lib/libspms: libstree|:^^:dp=src/lib/libstree: mkmf|:dp=src/cmd/mkmf:dt=src.2:dd=: mkproject|:dp=src/cmd/mkproject:dt=src.2:dd=: pd|:dp=src/cmd/pd:dt=src.2:dd=change current project directory: pmkdir|:dp=src/cmd/pmkdir:dt=src.2:dd=make a project directory: pcp|:dp=src/cmd/pcp:dt=src.2:dd=: pmv|:dp=src/cmd/pmv:dt=src.2:dd=: Opdtyp 418696382 968 27 100644 570 ` include src src cmd/src cmd/program/src cmd/src cmd cmd cmd/src.2 mkmf src.2 src.2 cmd/src.2 cmd/program/src.2 cmd/src.2 cmd cmd cmd/src.2 mkproject src.2 src.2 cmd/src.2 cmd/program/src.2 cmd/src.2 cmd cmd cmd/src.2 pd src.2 src.2 cmd/src.2 cmd/program/src.2 cmd/src.2 cmd cmd cmd/src.2 pmkdir src.2 src.2 cmd/src.2 cmd/program/src.2 cmd/src.2 cmd cmd cmd/src.2 pcp src.2 src.2 cmd/src.2 cmd/program/src.2 cmd/src.2 cmd cmd cmd/src.2 pmv src.2 src.2 cmd/src.2 cmd/program/src.2 cmd/src.2 cmd cmd cmd/src.2 Tpdtyp.c 418696385 968 27 100644 2190 ` /* * pdtcpy() * pdtfind() * pdtinsert() * pdtrm() */ #include <stdio.h> #include "path.h" #include "pdb.h" #include "yesno.h" char *PGN = "Tpdtyp"; /* program name */ main() { char *pdtcpy(); /* copy project directory type label */ char *pdtfind(); /* find type label in buffer */ char *tb; /* type label buffer pointer */ char type[TYPESIZE]; /* project dir type label buffer */ int closepdb(); /* close database */ int pdtinsert(); /* insert project dir type label */ PATH *path; /* pathname struct pointer */ PATH *readpld(); /* read next alias+pathname */ PDB *mustopenpdb(); /* must open database or die */ PDB *pdbp; /* database stream */ void pdtrm(); /* remove project dir type label */ pdbp = mustopenpdb("Ipdtyp", ".", "r"); /* operations on `src.*' directories only */ while ((path = readpld(pdbp)) != NULL) if ((tb = pdtfind("src", path->p_type)) != NULL) { printf("%s %s\n", path->p_alias, path->p_type); printf("\t%s\n", pdtcpy(type, tb)); fflush(stdout); /* add `cmd' type label */ if (pdtinsert("cmd", path->p_type) == NO) warn("\tcmd type label exists"); else { printf("\t%s\n", path->p_type); fflush(stdout); } /* add `program' type label */ if (pdtinsert("program", path->p_type) == NO) warn("\tprogram type label exists"); else { printf("\t%s\n", path->p_type); fflush(stdout); } /* remove `program' type label */ pdtrm("program", path->p_type); printf("\t%s\n", path->p_type); fflush(stdout); /* remove `src.*' type label */ pdtrm("src", path->p_type); printf("\t%s\n", path->p_type); fflush(stdout); /* remove `cmd' type label */ pdtrm("cmd", path->p_type); printf("\t%s\n", path->p_type); fflush(stdout); /* add `cmd' type label */ if (pdtinsert("cmd", path->p_type) == NO) warn("\tcmd type label exists"); else { printf("\t%s\n", path->p_type); fflush(stdout); } /* add `src.2' type label */ if (pdtinsert("src.2", path->p_type) == NO) warn("\tsrc.2 type label exists"); else { printf("\t%s\n", path->p_type); fflush(stdout); } } closepdb(pdbp); exit(0); }