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