BSD 4_2 development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Sat, 14 May 1983 03:30:11 +0000 (19:30 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Sat, 14 May 1983 03:30:11 +0000 (19:30 -0800)
Work on file usr/src/new/new/spms/src/lib/libspms/test/readpath.a

Synthesized-from: CSRG/cd1/4.2

usr/src/new/new/spms/src/lib/libspms/test/readpath.a [new file with mode: 0644]

diff --git a/usr/src/new/new/spms/src/lib/libspms/test/readpath.a b/usr/src/new/new/spms/src/lib/libspms/test/readpath.a
new file mode 100644 (file)
index 0000000..25174d1
--- /dev/null
@@ -0,0 +1,209 @@
+!<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)