1 # include "sendmail.h" 2 3 static char sccsid[] = "@(#)praliases.c 5.2 04/06/87"; 4 5 typedef struct { char *dptr; int dsize; } datum; 6 datum firstkey(), nextkey(), fetch(); 7 char *filename = ALIASFILE; 8 9 main(argc, argv) 10 char **argv; 11 { 12 datum content, key; 13 14 if (argc > 2 && strcmp(argv[1], "-f") == 0) 15 { 16 argv++; 17 filename = *++argv; 18 argc -= 2; 19 } 20 21 if (dbminit(filename) < 0) 22 exit(EX_OSFILE); 23 argc--, argv++; 24 if (argc == 0) { 25 for (key = firstkey(); key.dptr; key = nextkey(key)) { 26 content = fetch(key); 27 printf("\n%s:%s\n", key.dptr, content.dptr); 28 } 29 exit(EX_OK); 30 } 31 while (argc) { 32 key.dptr = *argv; 33 key.dsize = strlen(*argv)+1; 34 content = fetch(key); 35 if (content.dptr == 0) 36 printf("%s: No such key\n", key.dptr); 37 else 38 printf("\n%s:%s\n", key.dptr, content.dptr); 39 argc--, argv++; 40 } 41 exit(EX_OK); 42 } 43