summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/ext/SDBM_File/sdbm/dba.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/ext/SDBM_File/sdbm/dba.c')
-rw-r--r--contrib/perl5/ext/SDBM_File/sdbm/dba.c87
1 files changed, 0 insertions, 87 deletions
diff --git a/contrib/perl5/ext/SDBM_File/sdbm/dba.c b/contrib/perl5/ext/SDBM_File/sdbm/dba.c
deleted file mode 100644
index 7406776..0000000
--- a/contrib/perl5/ext/SDBM_File/sdbm/dba.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * dba dbm analysis/recovery
- */
-
-#include <stdio.h>
-#include <sys/file.h>
-#include "EXTERN.h"
-#include "sdbm.h"
-
-char *progname;
-extern void oops();
-
-int
-main(int argc, char **argv)
-{
- int n;
- char *p;
- char *name;
- int pagf;
-
- progname = argv[0];
-
- if (p = argv[1]) {
- name = (char *) malloc((n = strlen(p)) + 5);
- if (!name)
- oops("cannot get memory");
-
- strcpy(name, p);
- strcpy(name + n, ".pag");
-
- if ((pagf = open(name, O_RDONLY)) < 0)
- oops("cannot open %s.", name);
-
- sdump(pagf);
- }
- else
- oops("usage: %s dbname", progname);
-
- return 0;
-}
-
-void
-sdump(int pagf)
-{
- register b;
- register n = 0;
- register t = 0;
- register o = 0;
- register e;
- char pag[PBLKSIZ];
-
- while ((b = read(pagf, pag, PBLKSIZ)) > 0) {
- printf("#%d: ", n);
- if (!okpage(pag))
- printf("bad\n");
- else {
- printf("ok. ");
- if (!(e = pagestat(pag)))
- o++;
- else
- t += e;
- }
- n++;
- }
-
- if (b == 0)
- printf("%d pages (%d holes): %d entries\n", n, o, t);
- else
- oops("read failed: block %d", n);
-}
-
-int
-pagestat(char *pag)
-{
- register n;
- register free;
- register short *ino = (short *) pag;
-
- if (!(n = ino[0]))
- printf("no entries.\n");
- else {
- free = ino[n] - (n + 1) * sizeof(short);
- printf("%3d entries %2d%% used free %d.\n",
- n / 2, ((PBLKSIZ - free) * 100) / PBLKSIZ, free);
- }
- return n / 2;
-}
OpenPOWER on IntegriCloud