]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - termios/cfsetspeed.c
Update.
[thirdparty/glibc.git] / termios / cfsetspeed.c
index da31073ac253adf1f1a7ccc3cba412f5ae487321..b3c8aa3f424b485479a21b3ce3ef505082aec9b9 100644 (file)
@@ -107,13 +107,19 @@ cfsetspeed (struct termios *termios_p, speed_t speed)
 {
   size_t cnt;
 
-  for (cnt = 0; cnt < sizeof (speeds); ++cnt)
-    if (speed == speeds[cnt].value)
+  for (cnt = 0; cnt < sizeof (speeds) / sizeof (speeds[0]); ++cnt)
+    if (speed == speeds[cnt].internal)
       {
        cfsetispeed (termios_p, speed);
        cfsetospeed (termios_p, speed);
        return;
       }
+    else if (speed == speeds[cnt].value)
+      {
+       cfsetispeed (termios_p, speeds[cnt].internal);
+       cfsetospeed (termios_p, speeds[cnt].internal);
+       return;
+      }
 
   __set_errno (EINVAL);
 }