dir: Make test utility build again
authorSimon Wilkinson <sxw@your-file-system.com>
Wed, 16 Mar 2011 18:11:21 +0000 (18:11 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 18 Mar 2011 03:34:12 +0000 (20:34 -0700)
Make the 'dtest' test utility, which can be used to test the functioning
of the dir package, as well as to manipulate the directories that it
creates, build again.

Change-Id: I3b87c691cc9cb7ffce9297243d4a709d2e94fd40
Reviewed-on: http://gerrit.openafs.org/4251
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

src/dir/test/Makefile.in
src/dir/test/dtest.c

index 4a25ebf..8492cda 100644 (file)
@@ -15,7 +15,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
 LIBS = ${srcdir}/lib/libdir.a ${srcdir}/lib/util.a  ${srcdir}/lib/liblwp.a
-CFLAGS=${OPTMZ} -I${TOP_INCDIR} -I${srcdir} -I${TOP_OBJDIR}/src/config ${XCFLAGS} ${ARCHFLAGS}
 
 OBJS=test-salvage.o physio.o dtest.o
 
index 446918b..13f19f3 100644 (file)
 #include <afsconfig.h>
 #include <afs/param.h>
 
+#include <roken.h>
 
-#ifdef AFS_NT40_ENV
-#include <fcntl.h>
-#include <windows.h>
-#else
-#include <sys/file.h>
-#endif
-#include <stdio.h>
-#include <errno.h>
+#include <stdarg.h>
+
+#include <afs/dir.h>
 
 long fidCounter = 0;
 
@@ -29,7 +25,10 @@ typedef struct dirhandle {
 } dirhandle;
 int Uniq;
 
-void
+static void OpenDir(char *name, dirhandle *dir);
+static void CreateDir(char *name, dirhandle *dir);
+
+static void
 Usage(void)
 {
     printf("Usage: dtest <command [args]>, where command is one of:\n");
@@ -44,65 +43,29 @@ Usage(void)
     exit(1);
 }
 
-main(argc, argv)
-     char **argv;
-{
-    DInit(600);
-    argc--;
-    argv++;
-
-    if (argc == 0)
-       Usage();
-
-    switch ((*argv++)[1]) {
-    case 'l':
-       ListDir(*argv);
-       break;
-    case 'c':
-       CheckDir(*argv);
-       break;
-    case 's':
-       SalvageDir(*argv, argv[1]);
-       break;
-    case 'f':
-       CRTest(*argv, argv[1], atoi(argv[2]));
-       break;
-    case 'd':
-       DelTest(*argv, argv[1]);
-       break;
-    case 'r':
-       LookupDir(*argv, argv[1]);
-       break;
-    case 'a':
-       AddEntry(*argv, argv[1]);
-       break;
-    default:
-       Usage();
-    }
-    exit(0);
-}
-
-LookupDir(dname, ename)
-     char *dname, *ename;
+static void
+LookupDir(char *dname, char *ename)
 {
     dirhandle dir;
-    long fid[3], code;
+    long fid[3];
+    int code;
 
     OpenDir(dname, &dir);
     code = Lookup(&dir, ename, fid);
     if (code)
        printf("lookup code %d\n", code);
     else {
-       printf("Found fid %d.%d for file '%s'\n", fid[1], fid[2], ename);
+       printf("Found fid %ld.%ld for file '%s'\n", fid[1], fid[2], ename);
     }
     DFlush();
 }
 
-AddEntry(dname, ename)
-     char *dname, *ename;
+static void
+AddEntry(char *dname, char *ename)
 {
     dirhandle dir;
-    long fid[3], code;
+    long fid[3];
+    int code;
 
     fid[1] = fidCounter++;
     fid[2] = 3;
@@ -113,24 +76,25 @@ AddEntry(dname, ename)
     DFlush();
 }
 
-ListDir(name)
-     char *name;
+static int
+ListEntry(void * handle, char *name, afs_int32 vnode, afs_int32 unique)
 {
-    extern ListEntry();
-    dirhandle dir;
-    OpenDir(name, &dir);
-    EnumerateDir(&dir, ListEntry, 0);
+    printf("%s\t%ld\t%ld\n", name, afs_printable_int32_ld(vnode),
+          afs_printable_int32_ld(unique));
+
+    return 0;
 }
 
-ListEntry(handle, name, vnode, unique)
-     long handle, vnode, unique;
-     char *name;
+static void
+ListDir(char *name)
 {
-    printf("%s\t%d\t%d\n", name, vnode, unique);
+    dirhandle dir;
+    OpenDir(name, &dir);
+    EnumerateDir(&dir, ListEntry, 0);
 }
 
-CheckDir(name)
-     char *name;
+static void
+CheckDir(char *name)
 {
     dirhandle dir;
     OpenDir(name, &dir);
@@ -140,13 +104,14 @@ CheckDir(name)
        printf("Directory bad\n");
 }
 
-SalvageDir(iname, oname)
-     char *iname, *oname;
+static void
+SalvageDir(char *iname, char *oname)
 {
     dirhandle in, out;
-    long myFid[3], parentFid[3];
+    afs_int32 myFid[3], parentFid[3];
+
     OpenDir(iname, &in);
-    if (Lookup(in, ".", myFid) || Lookup(in, "..", parentFid)) {
+    if (Lookup(&in, ".", myFid) || Lookup(&in, "..", parentFid)) {
        printf("Lookup of \".\" and/or \"..\" failed: ");
        printf("%d %d %d %d\n", myFid[1], myFid[2], parentFid[1],
               parentFid[2]);
@@ -157,12 +122,11 @@ SalvageDir(iname, oname)
     DFlush();
 }
 
-DelTest(dname, ename)
-     char *dname;
-     char *ename;
+static void
+DelTest(char *dname, char *ename)
 {
     dirhandle dir;
-    long code;
+    int code;
 
     OpenDir(dname, &dir);
     code = Delete(&dir, ename);
@@ -171,15 +135,14 @@ DelTest(dname, ename)
     DFlush();
 }
 
-CRTest(dname, ename, count)
-     char *dname;
-     char *ename;
-     int count;
+static void
+CRTest(char *dname, char *ename, int count)
 {
     char tbuffer[200];
-    long i, code;
-    long fid[3];
+    int i;
+    afs_int32 fid[3];
     dirhandle dir;
+    int code;
 
     CreateDir(dname, &dir);
     memset(fid, 0, sizeof(fid));
@@ -201,9 +164,8 @@ CRTest(dname, ename, count)
     DFlush();
 }
 
-OpenDir(name, dir)
-     char *name;
-     dirhandle *dir;
+static void
+OpenDir(char *name, dirhandle *dir)
 {
     dir->fd = open(name, O_RDWR, 0666);
     if (dir->fd == -1) {
@@ -213,9 +175,8 @@ OpenDir(name, dir)
     dir->uniq = ++Uniq;
 }
 
-CreateDir(name, dir)
-     char *name;
-     dirhandle *dir;
+static void
+CreateDir(char *name, dirhandle *dir)
 {
     dir->fd = open(name, O_CREAT | O_RDWR | O_TRUNC, 0666);
     dir->uniq = ++Uniq;
@@ -225,10 +186,8 @@ CreateDir(name, dir)
     }
 }
 
-ReallyRead(dir, block, data)
-     dirhandle *dir;
-     int block;
-     char *data;
+int
+ReallyRead(dirhandle *dir, int block, char *data)
 {
     int code;
     if (lseek(dir->fd, block * PAGESIZE, 0) == -1)
@@ -241,10 +200,8 @@ ReallyRead(dir, block, data)
     return 0;
 }
 
-ReallyWrite(dir, block, data)
-     dirhandle *dir;
-     int block;
-     char *data;
+int
+ReallyWrite(dirhandle *dir, int block, char *data)
 {
     int code;
     if (lseek(dir->fd, block * PAGESIZE, 0) == -1)
@@ -257,45 +214,86 @@ ReallyWrite(dir, block, data)
     return 0;
 }
 
-FidZap(dir)
-     dirhandle *dir;
+void
+FidZap(dirhandle *dir)
 {
     dir->fd = -1;
 }
 
-int
-FidZero(afid)
-     long *afid;
+void
+FidZero(long *afid)
 {
     *afid = 0;
 }
 
-FidEq(dir1, dir2)
-     dirhandle *dir1, *dir2;
+int
+FidEq(dirhandle *dir1, dirhandle *dir2)
 {
     return (dir1->uniq == dir2->uniq);
 }
 
 int
-FidVolEq(afid, bfid)
-     long *afid, *bfid;
+FidVolEq(long *afid, long *bfid)
 {
     return 1;
 }
 
-FidCpy(todir, fromdir)
-     dirhandle *todir, *fromdir;
+void
+FidCpy(dirhandle *todir, dirhandle *fromdir)
 {
     *todir = *fromdir;
 }
 
-Die(msg)
-     char *msg;
+void
+Die(char *msg)
 {
     printf("Something died with this message:  %s\n", msg);
 }
 
-Log(a, b, c, d, e, f, g, h, i, j, k, l, m, n)
+void
+Log(const char *fmt, ...)
+{
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintf(fmt, ap);
+    va_end(ap);
+}
+
+int
+main(int argc, char **argv)
 {
-    printf(a, b, c, d, e, f, g, h, i, j, k, l, m, n);
+    DInit(600);
+    argc--;
+    argv++;
+
+    if (argc == 0)
+       Usage();
+
+    switch ((*argv++)[1]) {
+    case 'l':
+       ListDir(*argv);
+       break;
+    case 'c':
+       CheckDir(*argv);
+       break;
+    case 's':
+       SalvageDir(*argv, argv[1]);
+       break;
+    case 'f':
+       CRTest(*argv, argv[1], atoi(argv[2]));
+       break;
+    case 'd':
+       DelTest(*argv, argv[1]);
+       break;
+    case 'r':
+       LookupDir(*argv, argv[1]);
+       break;
+    case 'a':
+       AddEntry(*argv, argv[1]);
+       break;
+    default:
+       Usage();
+    }
+    exit(0);
 }