(no message)
[unix-history] / usr / src / usr.bin / uucp / uulog / uulog.c
CommitLineData
6278ec69
SL
1#ifndef lint
2static char sccsid[] = "@(#)uulog.c 5.1 (Berkeley) %G%";
3#endif
4
5#include "uucp.h"
6
7#ifndef SYSBUF
8static char SYSBUF[BUFSIZ];
9#endif
10
11/*******
12 *
13 * uulog -
14 *
15 * options:
16 * -s - system name for search
17 * -u - user name for search
18 *
19 * exit codes:
20 * 0 - normal
21 *
22 */
23
24main(argc, argv)
25char *argv[];
26{
27 FILE *plogf;
28 char *system, *user;
29
30 char buf[BUFSIZ], u[20], s[20];
31
32 setbuf(stdout, SYSBUF);
33 strcpy(Progname, "uulog");
34 system = user = NULL;
35
36
37 while (argc>1 && argv[1][0] == '-') {
38 switch (argv[1][1]) {
39 case 's':
40 system = &argv[1][2];
41 if (*system == NULL && argc > 2 && argv[2][0] != '-') {
42 system = &argv[2][0];
43 argv++;
44 argc--;
45 }
46 if (strlen(system) > 7)
47 system[7] = 0;
48 break;
49 case 'u':
50 user = &argv[1][2];
51 if (*user == NULL && argc > 2 && argv[2][0] != '-') {
52 user = &argv[2][0];
53 argv++;
54 argc--;
55 }
56 break;
57 default:
58 printf("unknown flag %s\n", argv[1]); break;
59 }
60 --argc; argv++;
61 }
62
63
64 if (user == NULL && system == NULL) {
65 fprintf(stderr, "usage: uulog [-u user] [-s system]\n");
66 exit(1);
67 }
68/* chmod(LOGFILE, 0666); rm-ed by rti!trt */
69
70 plogf = fopen(LOGFILE, "r");
71 ASSERT(plogf != NULL, "CAN NOT OPEN", LOGFILE, 0);
72 while (fgets(buf, BUFSIZ, plogf) != NULL) {
73 sscanf(buf, "%s%s", u, s);
74 if (user != NULL && !prefix(user, u))
75 continue;
76 if (system != NULL && !prefix(system, s))
77 continue;
78 fputs(buf, stdout);
79 fflush(stdout);
80 }
81 exit(0);
82}
83
84cleanup(code)
85int code;
86{
87 exit(code);
88}