projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4_3_Tahoe release
[unix-history]
/
usr
/
src
/
usr.bin
/
uucp
/
uulog.c
diff --git
a/usr/src/usr.bin/uucp/uulog.c
b/usr/src/usr.bin/uucp/uulog.c
index
038a001
..
6eb7050
100644
(file)
--- a/
usr/src/usr.bin/uucp/uulog.c
+++ b/
usr/src/usr.bin/uucp/uulog.c
@@
-1,35
+1,32
@@
#ifndef lint
#ifndef lint
-static char sccsid[] = "@(#)uulog.c 5.
4 (Berkeley) 6/23/85
";
+static char sccsid[] = "@(#)uulog.c 5.
6 (Berkeley) 5/4/88
";
#endif
#include "uucp.h"
#endif
#include "uucp.h"
-#ifndef SYSBUF
-static char SYSBUF[BUFSIZ];
-#endif
+struct timeb Now;
main(argc, argv)
char *argv[];
{
main(argc, argv)
char *argv[];
{
+#ifndef LOGBYSITE
FILE *plogf;
FILE *plogf;
+ char u[64], s[64];
+#endif /* !LOGBYSITE */
char *sys, *user;
char *sys, *user;
+ int c;
+ extern char *optarg;
+ extern int optind;
- char buf[BUFSIZ]
, u[64], s[64]
;
+ char buf[BUFSIZ];
- setbuf(stdout, SYSBUF);
strcpy(Progname, "uulog");
sys = user = NULL;
strcpy(Progname, "uulog");
sys = user = NULL;
-
- while (argc>1 && argv[1][0] == '-') {
- switch (argv[1][1]) {
+ while ((c = getopt(argc, argv, "s:u:")) != EOF)
+ switch (c) {
case 's':
case 's':
- sys = &argv[1][2];
- if (*sys == NULL && argc > 2 && argv[2][0] != '-') {
- sys = &argv[2][0];
- argv++;
- argc--;
- }
+ sys = optarg;
if (strlen(sys) > MAXBASENAME)
sys[MAXBASENAME] = '\0';
if (versys(&sys) != SUCCESS){
if (strlen(sys) > MAXBASENAME)
sys[MAXBASENAME] = '\0';
if (versys(&sys) != SUCCESS){
@@
-38,19
+35,13
@@
char *argv[];
}
break;
case 'u':
}
break;
case 'u':
- user = &argv[1][2];
- if (*user == NULL && argc > 2 && argv[2][0] != '-') {
- user = &argv[2][0];
- argv++;
- argc--;
- }
+ user = optarg;
break;
break;
+ case '?':
default:
default:
- printf("unknown flag %s\n", argv[1]); break;
+ fprintf(stderr, "unknown flag %s\n", argv[optind-1]);
+ break;
}
}
- --argc; argv++;
- }
-
if (user == NULL && sys == NULL) {
fprintf(stderr, "usage: uulog [-u user] [-s sys]\n");
if (user == NULL && sys == NULL) {
fprintf(stderr, "usage: uulog [-u user] [-s sys]\n");
@@
-73,12
+64,15
@@
char *argv[];
}
#else !LOGBYSITE
plogf = fopen(LOGFILE, "r");
}
#else !LOGBYSITE
plogf = fopen(LOGFILE, "r");
- ASSERT(plogf != NULL, "CAN NOT OPEN", LOGFILE, 0);
+ if (plogf == NULL) {
+ syslog(LOG_WARNING, "fopen(%s) failed: %m", LOGFILE);
+ cleanup(1);
+ }
while (fgets(buf, BUFSIZ, plogf) != NULL) {
sscanf(buf, "%s%s", u, s);
while (fgets(buf, BUFSIZ, plogf) != NULL) {
sscanf(buf, "%s%s", u, s);
- if (user != NULL && !
prefix(user, u
))
+ if (user != NULL && !
(prefix(user, u) || prefix(u, user)
))
continue;
continue;
- if (sys != NULL && !
prefix(sys, s
))
+ if (sys != NULL && !
(prefix(sys, s) || prefix(s, sys)
))
continue;
fputs(buf, stdout);
fflush(stdout);
continue;
fputs(buf, stdout);
fflush(stdout);