date and time created 87/04/06 14:41:49 by bostic
authorKeith Bostic <bostic@ucbvax.Berkeley.EDU>
Tue, 7 Apr 1987 05:41:49 +0000 (21:41 -0800)
committerKeith Bostic <bostic@ucbvax.Berkeley.EDU>
Tue, 7 Apr 1987 05:41:49 +0000 (21:41 -0800)
SCCS-vsn: usr.sbin/sendmail/praliases/praliases.c 5.1

usr/src/usr.sbin/sendmail/praliases/praliases.c [new file with mode: 0644]

diff --git a/usr/src/usr.sbin/sendmail/praliases/praliases.c b/usr/src/usr.sbin/sendmail/praliases/praliases.c
new file mode 100644 (file)
index 0000000..7a2ea7e
--- /dev/null
@@ -0,0 +1,42 @@
+# include "sendmail.h"
+
+static char sccsid[] = "@(#)praliases.c        5.1     %G%";
+
+typedef struct { char *dptr; int dsize; } datum;
+datum  firstkey(), nextkey(), fetch();
+char   *filename = ALIASFILE;
+
+main(argc, argv)
+       char **argv;
+{
+       datum content, key;
+
+       if (argc > 2 && strcmp(argv[1], "-f") == 0)
+       {
+               argv++;
+               filename = *++argv;
+               argc -= 2;
+       }
+
+       if (dbminit(filename) < 0)
+               exit(EX_OSFILE);
+       argc--, argv++;
+       if (argc == 0) {
+               for (key = firstkey(); key.dptr; key = nextkey(key)) {
+                       content = fetch(key);
+                       printf("\n%s:%s\n", key.dptr, content.dptr);
+               }
+               exit(EX_OK);
+       }
+       while (argc) {
+               key.dptr = *argv;
+               key.dsize = strlen(*argv)+1;
+               content = fetch(key);
+               if (content.dptr == 0)
+                       printf("%s: No such key\n");
+               else
+                       printf("\n%s:%s\n", key.dptr, content.dptr);
+               argc--, argv++;
+       }
+       exit(EX_OK);
+}