diff options
author | kris <kris@FreeBSD.org> | 2000-11-26 22:36:35 +0000 |
---|---|---|
committer | kris <kris@FreeBSD.org> | 2000-11-26 22:36:35 +0000 |
commit | 24d7d40917d8192eb7b128b4b4d825a58e53c1cd (patch) | |
tree | 919a9ff8b3529211af0500e2768f977e93c4494d /usr.bin/rwall | |
parent | 638b5b2282e13419d0a055910d5029e587cab596 (diff) | |
download | FreeBSD-src-24d7d40917d8192eb7b128b4b4d825a58e53c1cd.zip FreeBSD-src-24d7d40917d8192eb7b128b4b4d825a58e53c1cd.tar.gz |
Cleanup this code a bit by attempting to sync it up with NetBSD and
with each other.
Reviewed by: markm, dwmalone
Diffstat (limited to 'usr.bin/rwall')
-rw-r--r-- | usr.bin/rwall/rwall.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/usr.bin/rwall/rwall.c b/usr.bin/rwall/rwall.c index 214a5a5..6e0e515 100644 --- a/usr.bin/rwall/rwall.c +++ b/usr.bin/rwall/rwall.c @@ -61,6 +61,7 @@ static const char rcsid[] = #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <time.h> #include <unistd.h> #include <utmp.h> @@ -70,8 +71,9 @@ static const char rcsid[] = int mbufsize; char *mbuf; -void makemsg __P((char *)); +void makemsg __P((char *)); static void usage __P((void)); +char *ttymsg __P((struct iovec *, int, char *, int)); /* ARGSUSED */ int @@ -120,7 +122,7 @@ main(argc, argv) static void usage() { - fprintf(stderr, "usage: rwall hostname [file]\n"); + (void)fprintf(stderr, "usage: rwall hostname [file]\n"); exit(1); } @@ -131,14 +133,15 @@ makemsg(fname) struct tm *lt; struct passwd *pw; struct stat sbuf; - time_t now, time(); + time_t now; FILE *fp; int fd; - char *whom, hostname[MAXHOSTNAMELEN], lbuf[256], tmpname[64]; + char *tty, hostname[MAXHOSTNAMELEN], lbuf[256], tmpname[64]; + const char *whom; - snprintf(tmpname, sizeof(tmpname), "%s/wall.XXXXXX", _PATH_TMP); - if (!(fd = mkstemp(tmpname)) || !(fp = fdopen(fd, "r+"))) - errx(1, "can't open temporary file"); + (void)snprintf(tmpname, sizeof(tmpname), "%s/wall.XXXXXX", _PATH_TMP); + if ((fd = mkstemp(tmpname)) == -1 || !(fp = fdopen(fd, "r+"))) + err(1, "can't open temporary file"); (void)unlink(tmpname); if (!(whom = getlogin())) @@ -156,23 +159,26 @@ makemsg(fname) */ (void)fprintf(fp, "Remote Broadcast Message from %s@%s\n", whom, hostname); - (void)fprintf(fp, " (%s) at %d:%02d ...\n", ttyname(2), + tty = ttyname(STDERR_FILENO); + if (tty == NULL) + tty = "no tty"; + (void)fprintf(fp, " (%s) at %d:%02d ...\n", tty, lt->tm_hour, lt->tm_min); putc('\n', fp); if (fname && !(freopen(fname, "r", stdin))) - errx(1, "can't read %s", fname); + err(1, "can't read %s", fname); while (fgets(lbuf, sizeof(lbuf), stdin)) fputs(lbuf, fp); rewind(fp); if (fstat(fd, &sbuf)) - errx(1, "can't stat temporary file"); + err(1, "can't stat temporary file"); mbufsize = sbuf.st_size; if (!(mbuf = malloc((u_int)mbufsize))) - errx(1, "out of memory"); + err(1, "out of memory"); if (fread(mbuf, sizeof(*mbuf), mbufsize, fp) != mbufsize) - errx(1, "can't read temporary file"); + err(1, "can't read temporary file"); (void)close(fd); } |