summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/ext/SDBM_File/sdbm/dbd.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/ext/SDBM_File/sdbm/dbd.c')
-rw-r--r--contrib/perl5/ext/SDBM_File/sdbm/dbd.c113
1 files changed, 0 insertions, 113 deletions
diff --git a/contrib/perl5/ext/SDBM_File/sdbm/dbd.c b/contrib/perl5/ext/SDBM_File/sdbm/dbd.c
deleted file mode 100644
index 0a58d9a..0000000
--- a/contrib/perl5/ext/SDBM_File/sdbm/dbd.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * dbd - dump a dbm data file
- */
-
-#include <stdio.h>
-#include <sys/file.h>
-#include "EXTERN.h"
-#include "sdbm.h"
-
-char *progname;
-extern void oops();
-
-
-#define empty(page) (((short *) page)[0] == 0)
-
-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 r;
- register n = 0;
- register o = 0;
- char pag[PBLKSIZ];
-
- while ((r = read(pagf, pag, PBLKSIZ)) > 0) {
- if (!okpage(pag))
- fprintf(stderr, "%d: bad page.\n", n);
- else if (empty(pag))
- o++;
- else
- dispage(pag);
- n++;
- }
-
- if (r == 0)
- fprintf(stderr, "%d pages (%d holes).\n", n, o);
- else
- oops("read failed: block %d", n);
-}
-
-
-#ifdef OLD
-int
-dispage(char *pag)
-{
- register i, n;
- register off;
- register short *ino = (short *) pag;
-
- off = PBLKSIZ;
- for (i = 1; i < ino[0]; i += 2) {
- printf("\t[%d]: ", ino[i]);
- for (n = ino[i]; n < off; n++)
- putchar(pag[n]);
- putchar(' ');
- off = ino[i];
- printf("[%d]: ", ino[i + 1]);
- for (n = ino[i + 1]; n < off; n++)
- putchar(pag[n]);
- off = ino[i + 1];
- putchar('\n');
- }
-}
-#else
-void
-dispage(char *pag)
-{
- register i, n;
- register off;
- register short *ino = (short *) pag;
-
- off = PBLKSIZ;
- for (i = 1; i < ino[0]; i += 2) {
- for (n = ino[i]; n < off; n++)
- if (pag[n] != 0)
- putchar(pag[n]);
- putchar('\t');
- off = ino[i];
- for (n = ino[i + 1]; n < off; n++)
- if (pag[n] != 0)
- putchar(pag[n]);
- putchar('\n');
- off = ino[i + 1];
- }
-}
-#endif
OpenPOWER on IntegriCloud