X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/2adafe760a9c45b417727a3f5d9481de26471a8b..3e793ecdc83c0df54ce3096880eb8fdc7a36c4e0:/uip/rcvtty.c diff --git a/uip/rcvtty.c b/uip/rcvtty.c index c3fe470e..291cb69c 100644 --- a/uip/rcvtty.c +++ b/uip/rcvtty.c @@ -82,9 +82,9 @@ main (int argc, char **argv) char **argp, **arguments, *vec[MAXARGS]; struct utmpx *utp; - if (nmh_init(argv[0], 1)) { return 1; } + if (nmh_init(argv[0], 2)) { return 1; } - mts_init (invo_name); + mts_init (); arguments = getarguments (invo_name, argc, argv, 1); argp = arguments; @@ -198,7 +198,8 @@ message_fd (char **vec) /* fork error */ close (fd); return header_fd (); - } else if (child_id) { + } + if (child_id) { /* parent process */ if (!setjmp (myctx)) { SIGNAL (SIGALRM, alrmser); @@ -265,12 +266,20 @@ header_fd (void) nfs = new_fs (form, format, SCANFMT); scan (stdin, 0, 0, nfs, width, 0, 0, NULL, 0L, 0, &scanl); scan_finished (); - if (newline) - write (fd, "\n\r", 2); - write (fd, charstring_buffer (scanl), charstring_bytes (scanl)); + if (newline) { + if (write (fd, "\n\r", 2) < 0) { + advise (tfile, "write LF/CR"); + } + } + if (write (fd, charstring_buffer (scanl), charstring_bytes (scanl)) < 0) { + advise (tfile, "write"); + } charstring_free (scanl); - if (bell) - write (fd, "\007", 1); + if (bell) { + if (write (fd, "\007", 1) < 0) { + advise (tfile, "write BEL"); + } + } return fd; }