summaryrefslogtreecommitdiffstats
path: root/contrib/libio/dbz/fake.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libio/dbz/fake.c')
-rw-r--r--contrib/libio/dbz/fake.c144
1 files changed, 0 insertions, 144 deletions
diff --git a/contrib/libio/dbz/fake.c b/contrib/libio/dbz/fake.c
deleted file mode 100644
index ed2a2b7..0000000
--- a/contrib/libio/dbz/fake.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * fake - make up random lines resembling history-file entries, reproducibly
- *
- * -Log-
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <string.h>
-
-#define MAXSTR 500 /* For sizing strings -- DON'T use BUFSIZ! */
-#define STREQ(a, b) (*(a) == *(b) && strcmp((a), (b)) == 0)
-
-#ifndef lint
-static char RCSid[] = "$Header: /rel/cvsfiles/devo/libio/dbz/fake.c,v 1.2 1993/10/25 20:02:42 bothner Exp $";
-#endif
-
-int midonly = 0; /* just message ids, rest not realistic */
-int tag = 0; /* tag lines with random digit for later use */
-int expired = -1; /* percentage of lines to be expired */
-
-int debug = 0;
-char *progname;
-
-char *inname; /* filename for messages etc. */
-long lineno; /* line number for messages etc. */
-
-void doline();
-void addchars();
-void seed();
-
-/*
- - main - parse arguments and handle options
- */
-int
-main(argc, argv)
-int argc;
-char *argv[];
-{
- int c;
- int errflg = 0;
- FILE *in;
- struct stat statbuf;
- extern int optind;
- extern char *optarg;
- void process();
- register long no;
- extern long atol();
- char line[MAXSTR];
-
- progname = argv[0];
-
- while ((c = getopt(argc, argv, "ms:te:d")) != EOF)
- switch (c) {
- case 'm': /* message-ids only */
- midonly = 1;
- break;
- case 's': /* seed */
- seed(atol(optarg));
- break;
- case 't': /* tag lines with a random digit */
- tag = 1;
- break;
- case 'e': /* percentage to be expired */
- expired = atoi(optarg);
- break;
- case 'd': /* Debugging. */
- debug++;
- break;
- case '?':
- default:
- errflg++;
- break;
- }
- if (errflg || optind != argc - 1) {
- fprintf(stderr, "usage: %s ", progname);
- fprintf(stderr, "[-m] [-s seed] length\n");
- exit(2);
- }
-
- for (no = atol(argv[optind]); no > 0; no--) {
- doline(line);
- puts(line);
- }
-#ifdef DBZ_FINISH
- DBZ_FINISH;
-#endif
- exit(0);
-}
-
-/*
- - doline - generate random history pseudo-line
- */
-void
-doline(buf)
-char *buf;
-{
- char tagch[2];
-
- (void) strcpy(buf, "<");
- addchars(buf, range(4, 20));
- (void) strcat(buf, "@");
- addchars(buf, range(8, 20));
- if (midonly)
- (void) strcat(buf, ">\tx");
- else {
- if (tag) {
- tagch[0] = "1234567890"[range(0,9)];
- tagch[1] = '\0';
- (void) strcat(buf, ">\t");
- (void) strcat(buf, tagch);
- (void) strcat(buf, "00000000~-");
- } else
- (void) strcat(buf, ">\t1234567890~-");
- }
- if (range(1, 100) > expired) {
- if (midonly)
- (void) strcat(buf, "\tx");
- else {
- (void) strcat(buf, "\t");
- addchars(buf, range(10, 30));
- }
- }
-}
-
-/*
- - addchars - generate n random characters suitable for history file
- */
-void
-addchars(buf, len)
-char *buf;
-int len;
-{
- register int i;
- register char *p = buf + strlen(buf);
- static char vocab[] = "1234567890.abcde.fghij.klmno.pqrst.uvwxyz.\
-1234567890.ABCDE.FGHIJ.KLMNO.PQRST.UVWXYZ.1234567890.\
-1234567890.abcde.fghij.klmno.pqrst.uvwxyz.1234567890";
-
- for (i = len; i > 0; i--)
- *p++ = vocab[range(0, sizeof(vocab)-2)];
- *p++ = '\0';
-}
OpenPOWER on IntegriCloud