X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/92128dacf8d5db02379e8f872dc50d31c6aaa55f..ef1ba39e8dae81091b6c3e73e72825ef6edea3c6:/uip/rcvtty.c diff --git a/uip/rcvtty.c b/uip/rcvtty.c index d91b6a4e..291cb69c 100644 --- a/uip/rcvtty.c +++ b/uip/rcvtty.c @@ -54,7 +54,7 @@ static jmp_buf myctx; static int bell = 1; static int newline = 1; static int biff = 0; -static int width = 0; +static int width = -1; static char *form = NULL; static char *format = NULL; @@ -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; }