1: /*
2: * Copyright (c) 1988 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that this notice is preserved and that due credit is given
7: * to the University of California at Berkeley. The name of the University
8: * may not be used to endorse or promote products derived from this
9: * software without specific prior written permission. This software
10: * is provided ``as is'' without express or implied warranty.
11: */
12:
13: #if !defined(lint) && defined(DOSCCS)
14: char copyright[] =
15: "@(#) Copyright (c) 1988 Regents of the University of California.\n\
16: All rights reserved.\n";
17:
18: static char sccsid[] = "@(#)praliases.c 5.3.1 (2.11BSD) 1996/10/24";
19: #endif
20:
21: #include <sendmail.h>
22:
23: typedef struct {
24: char *dptr;
25: int dsize;
26: } datum;
27:
28:
29: main(argc, argv)
30: char **argv;
31: {
32: extern char *optarg;
33: extern int optind;
34: static char *filename = "/etc/aliases";
35: datum content, key, firstkey(), nextkey(), fetch();
36: int ch;
37:
38: while ((ch = getopt(argc, argv, "f:")) != EOF)
39: switch((char)ch) {
40: case 'f':
41: filename = optarg;
42: break;
43: case '?':
44: default:
45: fputs("usage: praliases [-f file]\n", stderr);
46: exit(EX_USAGE);
47: }
48: argc -= optind;
49: argv += optind;
50:
51: if (dbminit(filename) < 0)
52: exit(EX_OSFILE);
53: if (!argc)
54: for (key = firstkey(); key.dptr; key = nextkey(key)) {
55: content = fetch(key);
56: printf("%s:%s\n", key.dptr, content.dptr);
57: }
58: else for (; *argv; ++argv) {
59: key.dptr = *argv;
60: key.dsize = strlen(*argv) + 1;
61: content = fetch(key);
62: if (!content.dptr)
63: printf("%s: No such key\n", key.dptr);
64: else
65: printf("%s:%s\n", key.dptr, content.dptr);
66: }
67: exit(EX_OK);
68: }
Defined functions
main
defined in line
29;
never used
Defined variables