OSDN Git Service

* fhandler_serial.cc (fhandler_serial::tcgetattr): Just zero c_cflag here
authorcgf <cgf>
Fri, 9 Sep 2005 03:00:34 +0000 (03:00 +0000)
committercgf <cgf>
Fri, 9 Sep 2005 03:00:34 +0000 (03:00 +0000)
rather than clearing CBAUD after the fact.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler_serial.cc
winsup/cygwin/termios.cc

index 4ad6347..034e350 100644 (file)
@@ -1,5 +1,10 @@
 2005-09-08  Christopher Faylor  <cgf@timesys.com>
 
+       * fhandler_serial.cc (fhandler_serial::tcgetattr): Just zero c_cflag
+       here rather than clearing CBAUD after the fact.
+
+2005-09-08  Christopher Faylor  <cgf@timesys.com>
+
        * fhandler_serial.cc (fhandler_serial::ioctl): Always return 0 for
        window size.
        * termios.cc (tcgetattr): Clear out baud part of c_cflag since it is
index f7f9d60..dcf4206 100644 (file)
@@ -911,44 +911,45 @@ fhandler_serial::tcgetattr (struct termios *t)
   /* for safety */
   memset (t, 0, sizeof (*t));
 
+  t->c_cflag = 0;
   /* -------------- Baud rate ------------------ */
   switch (state.BaudRate)
     {
     case CBR_110:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B110;
+       t->c_ospeed = t->c_ispeed = B110;
        break;
     case CBR_300:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B300;
+       t->c_ospeed = t->c_ispeed = B300;
        break;
     case CBR_600:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B600;
+       t->c_ospeed = t->c_ispeed = B600;
        break;
     case CBR_1200:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B1200;
+       t->c_ospeed = t->c_ispeed = B1200;
        break;
     case CBR_2400:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B2400;
+       t->c_ospeed = t->c_ispeed = B2400;
        break;
     case CBR_4800:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B4800;
+       t->c_ospeed = t->c_ispeed = B4800;
        break;
     case CBR_9600:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B9600;
+       t->c_ospeed = t->c_ispeed = B9600;
        break;
     case CBR_19200:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B19200;
+       t->c_ospeed = t->c_ispeed = B19200;
        break;
     case CBR_38400:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B38400;
+       t->c_ospeed = t->c_ispeed = B38400;
        break;
     case CBR_57600:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B57600;
+       t->c_ospeed = t->c_ispeed = B57600;
        break;
     case CBR_115200:
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B115200;
+       t->c_ospeed = t->c_ispeed = B115200;
        break;
     case 230400: /* CBR_230400 - not defined */
-       t->c_cflag = t->c_ospeed = t->c_ispeed = B230400;
+       t->c_ospeed = t->c_ispeed = B230400;
        break;
     default:
        /* Unsupported baud rate! */
index e6a6517..6e0ab3e 100644 (file)
@@ -179,10 +179,7 @@ tcgetattr (int fd, struct termios *in_t)
   else if (!cfd->is_tty ())
     set_errno (ENOTTY);
   else if ((res = cfd->tcgetattr (t)) == 0)
-    {
-      t->c_cflag &= ~CBAUD;
-      __toapp_termios (in_t, t);
-    }
+    __toapp_termios (in_t, t);
 
   if (res)
     termios_printf ("%d = tcgetattr (%d, %p)", res, fd, in_t);