1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-24 21:01:20 +00:00
freebsd-ports/comms/conserver/files/patch-ac
Peter Wemm 406c65e0f2 Catch a 0 return from read() on carrier loss, otherwise it spins in an
infinite loop.

Submitted by:   Tor Egge <Tor.Egge@idi.ntnu.no>  (ages ago)
1998-06-28 14:28:26 +00:00

34 lines
1.0 KiB
Plaintext

--- ./conserver/group.c Sat Nov 22 20:11:49 1997
+++ ./conserver/group.c Sat Aug 23 17:19:13 1997
@@ -406,7 +406,7 @@
continue;
}
/* read terminal line */
- if ((nr = read(pCEServing->fdtty, acIn, sizeof(acIn))) < 0) {
+ if ((nr = read(pCEServing->fdtty, acIn, sizeof(acIn))) <= 0) {
/* carrier lost */
fprintf(stderr, "%s: lost carrier on %s (%s)!\n", progname, pCEServing->server, pCEServing->dfile);
#if DO_VIRTUAL
@@ -750,5 +750,5 @@
CSTROUT(pCLServing->fd, "- ");
if (-1 == tcsendbreak(pCEServing->fdtty, 9)) {
- CSTROUT(pCLServing->fd, "failed]\r\n");
+ CSTROUT(pCLServing->fd, "tcsendbreak failed]\r\n");
continue;
}
@@ -1119,11 +1119,9 @@
}
#if !defined(XTABS) /* XXX hack */
-#define XTABS TAB3
+#define XTABS OXTABS
#endif
- if (XTABS == (TABDLY&sbuf.c_oflag)) {
- sbuf.c_oflag &= ~TABDLY;
- sbuf.c_oflag |= TAB0;
+ if (XTABS & sbuf.c_oflag) {
+ sbuf.c_oflag &= ~XTABS;
} else {
- sbuf.c_oflag &= ~TABDLY;
sbuf.c_oflag |= XTABS;
}