!<arch> Ireadpath 418696417 968 27 100644 153 ` ~ ^ / ^^ ~root ... ...^work ...^mumble .... ....^libspms ^libspms^test ^libspms^test/xppath.a ^libspms ^libspms^test^work ^libspms^test/ test ? ^libspms Oreadpath 421781397 968 10 100644 3815 ` Treadpath: ~ --> ../../../.. ../../../..: root project directory ~ project SPMS Software Project Management System Treadpath: ^ --> ../../../.. ../../../..: root project directory ^ project SPMS Software Project Management System Treadpath: / --> / /: root project directory / project Treadpath: ^^ --> ../../../.. ../../../..: root project directory ^ project SPMS Software Project Management System Treadpath: ~root --> / /: root project directory ~root project Treadpath: ... --> .. ..: project root directory ... project SPMS Utility Operations Treadpath: ...^work --> ../work ../work: project directory work test.2 libspms.a workbench Treadpath: ...^mumble --> .././ Treadpath: ...^mumble: no such project directory Treadpath: .... --> ../../../.. ../../../..: project root directory .... project SPMS Software Project Management System Treadpath: ....^libspms --> ../../../../src/lib/libspms ../../../../src/lib/libspms: project root directory libspms project SPMS Utility Operations Treadpath: ^libspms^test --> ../../../../src/lib/libspms/test ../../../../src/lib/libspms/test: project directory test libspms.a test archives Treadpath: ^libspms^test/xppath.a --> ../../../../src/lib/libspms/test/xppath.a ../../../../src/lib/libspms/test/xppath.a: regular file Treadpath: ^libspms --> ../../../../src/lib/libspms ../../../../src/lib/libspms: project root directory libspms project SPMS Utility Operations Treadpath: ^libspms^test^work --> ../../../../src/lib/libspms/test Treadpath: ^libspms^test^work: no such file, directory, or project Treadpath: ^libspms^test/ --> ../../../../src/lib/libspms/test ../../../../src/lib/libspms/test: project directory test libspms.a test archives Treadpath: test --> ../test ../test: project directory test libspms.a test archives Treadpath: ? --> ? Treadpath: ?: No such file or directory Treadpath: ^libspms --> ../../../../src/lib/libspms ../../../../src/lib/libspms: project root directory libspms project SPMS Utility Operations Treadpath: ~ --> ../../../.. ../../../..: root project directory ~ project SPMS Software Project Management System Treadpath: ^ --> ../../../.. ../../../..: root project directory ^ project SPMS Software Project Management System Treadpath: / --> / /: root project directory / project Treadpath: ^^ --> ../../../.. ../../../..: root project directory ^ project SPMS Software Project Management System Treadpath: ~root --> / /: root project directory ~root project Treadpath: ... --> ... Treadpath: ...: No such file or directory Treadpath: ...^work --> ... Treadpath: ...^work: no such file, directory, or project Treadpath: ...^mumble --> ... Treadpath: ...^mumble: no such file, directory, or project Treadpath: .... --> .... Treadpath: ....: No such file or directory Treadpath: ....^libspms --> .... Treadpath: ....^libspms: no such file, directory, or project Treadpath: ^libspms^test --> ../../../../src/lib/libspms/test ../../../../src/lib/libspms/test: project directory test libspms.a test archives Treadpath: ^libspms^test/xppath.a --> ../../../../src/lib/libspms/test/xppath.a ../../../../src/lib/libspms/test/xppath.a: regular file Treadpath: ^libspms --> ../../../../src/lib/libspms ../../../../src/lib/libspms: project root directory libspms project SPMS Utility Operations Treadpath: ^libspms^test^work --> ../../../../src/lib/libspms/test Treadpath: ^libspms^test^work: no such file, directory, or project Treadpath: ^libspms^test/ --> ../../../../src/lib/libspms/test ../../../../src/lib/libspms/test: project directory test libspms.a test archives Treadpath: test --> test Treadpath: test: No such file or directory Treadpath: ? --> ? Treadpath: ?: No such file or directory Treadpath: ^libspms --> ../../../../src/lib/libspms ../../../../src/lib/libspms: project root directory libspms project SPMS Utility Operations Treadpath.c 418696422 968 27 100644 1721 ` /* * readpath() */ #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include "path.h" #include "yesno.h" char *PGN = "Treadpath"; /* program name */ main() { extern int PPDEBUG; /* project pathname debug flag */ char *gets(); /* get line from stdin */ char ppathname[PATHSIZE]; /* project pathname buffer */ int readpath(); /* read pathname attributes */ PATH pb; /* project pathname struct buffer */ PPDEBUG = YES; freopen("Ireadpath", "r", stdin); while (gets(ppathname) != NULL) { if (readpath(ppathname, &pb) == -1 || (pb.p_mode&P_IFMT) == P_IFNEW) { patherr(ppathname); continue; } printf("%s: ", pb.p_path); switch (pb.p_mode & P_IFMT) { case P_IFNEW: patherr(ppathname); break; case P_IFREG: if ((pb.p_mode & S_IFMT) == S_IFREG) printf("regular file\n"); else if ((pb.p_mode & S_IFMT) == S_IFDIR) printf("regular directory\n"); else printf("special file\n"); break; case P_IFPDIR: printf("project directory\n"); printf("%s", pb.p_alias); if (*pb.p_type != '\0') printf(" %s", pb.p_type); if (*pb.p_desc != '\0') printf(" %s", pb.p_desc); putchar('\n'); break; case P_IFPROOT: printf("project root directory\n"); printf("%s", pb.p_alias); if (*pb.p_type != '\0') printf(" %s", pb.p_type); if (*pb.p_desc != '\0') printf(" %s", pb.p_desc); putchar('\n'); break; case P_IFHOME: printf("root project directory\n"); printf("%s", pb.p_alias); if (*pb.p_type != '\0') printf(" %s", pb.p_type); if (*pb.p_desc != '\0') printf(" %s", pb.p_desc); putchar('\n'); break; } fflush(stdout); } exit(0); } Treadpath.sh 418870320 968 27 100755 218 ` #!/bin/csh -f # # readpath() # setenv HOME ../../../.. setenv PROJECT .. Treadpath >& T_OUTPUT setenv PROJECT "" Treadpath >>& T_OUTPUT diff T_OUTPUT Oreadpath set diffstatus = $status rm -f T_OUTPUT exit($diffstatus)