Module Name:    src
Committed By:   christos
Date:           Sun Jul 24 01:35:15 UTC 2011

Modified Files:
        src/usr.sbin/pppd/pppd: sys-bsd.c

Log Message:
don't set flags in the wrong fields.


To generate a diff of this commit:
cvs rdiff -u -r1.63 -r1.64 src/usr.sbin/pppd/pppd/sys-bsd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/pppd/pppd/sys-bsd.c
diff -u src/usr.sbin/pppd/pppd/sys-bsd.c:1.63 src/usr.sbin/pppd/pppd/sys-bsd.c:1.64
--- src/usr.sbin/pppd/pppd/sys-bsd.c:1.63	Sat Apr  2 06:19:27 2011
+++ src/usr.sbin/pppd/pppd/sys-bsd.c	Sat Jul 23 21:35:15 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: sys-bsd.c,v 1.63 2011/04/02 10:19:27 mbalmer Exp $	*/
+/*	$NetBSD: sys-bsd.c,v 1.64 2011/07/24 01:35:15 christos Exp $	*/
 
 /*
  * sys-bsd.c - System-dependent procedures for setting up
@@ -79,7 +79,7 @@
 #if 0
 #define RCSID	"Id: sys-bsd.c,v 1.47 2000/04/13 12:04:23 paulus Exp "
 #else
-__RCSID("$NetBSD: sys-bsd.c,v 1.63 2011/04/02 10:19:27 mbalmer Exp $");
+__RCSID("$NetBSD: sys-bsd.c,v 1.64 2011/07/24 01:35:15 christos Exp $");
 #endif
 #endif
 
@@ -940,8 +940,8 @@
     fchmod(*slave_fdp, S_IRUSR | S_IWUSR);
     if (tcgetattr(*slave_fdp, &tios) == 0) {
 	tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
-	tios.c_cflag |= CS8 | CREAD;
-	tios.c_iflag  = IGNPAR | CLOCAL;
+	tios.c_cflag |= CS8 | CREAD | CLOCAL;
+	tios.c_iflag  = IGNPAR;
 	tios.c_oflag  = 0;
 	tios.c_lflag  = 0;
 	if (tcsetattr(*slave_fdp, TCSAFLUSH, &tios) < 0)
@@ -971,7 +971,7 @@
 
     if (tcgetattr(loop_slave, &tios) == 0) {
 	tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
-	tios.c_cflag |= CS8 | CREAD;
+	tios.c_cflag |= CS8 | CREAD | CLOCAL;
 	tios.c_iflag = IGNPAR;
 	tios.c_oflag = 0;
 	tios.c_lflag = 0;
@@ -979,9 +979,13 @@
 	    warn("%s: couldn't set attributes on loopback: %m", __func__);
     }
 
-    if ((flags = fcntl(loop_master, F_GETFL)) != -1) 
-	if (fcntl(loop_master, F_SETFL, flags | O_NONBLOCK) == -1)
-	    warn("%s: couldn't set loopback to nonblock: %m", __func__);
+    flags = fcntl(loop_master, F_GETFL);
+    if (flags == -1 || fcntl(loop_master, F_SETFL, flags | O_NONBLOCK) == -1)
+	    warn("%s: couldn't set master loopback to nonblock: %m", __func__);
+
+    flags = fcntl(loop_slave, F_GETFL);
+    if (flags == -1 || fcntl(loop_slave, F_SETFL, flags | O_NONBLOCK) == -1)
+	    warn("%s: couldn't set slave loopback to nonblock: %m", __func__);
 
     ppp_fd = loop_slave;
     if (ioctl(ppp_fd, TIOCSETD, &pppdisc) < 0)

Reply via email to