]> sigrok.org Git - libserialport.git/commitdiff
Apply a default baudrate when the OS does not provide one.
authorJerry Jacobs <redacted>
Mon, 14 Jun 2021 16:22:58 +0000 (18:22 +0200)
committerGerhard Sittig <redacted>
Thu, 1 Jul 2021 15:55:13 +0000 (17:55 +0200)
Handle the situation when the OS does not provide a baudrate in the code
path which opens the serial port. See bug #1632 and PR #6 for details.

  https://sigrok.org/bugzilla/show_bug.cgi?id=1632
  https://github.com/sigrokproject/libserialport/pull/6

This resolves bug #1632.

[ gsi: adjust comment style, rephrase comment and commit message ]

serialport.c

index d088398d9bbf226eb83d1c688871198b5ed0a9f4..e6097eeda975f914ec7b960f72c9e2df546e8281 100644 (file)
@@ -590,6 +590,15 @@ SP_API enum sp_return sp_open(struct sp_port *port, enum sp_mode flags)
                RETURN_CODEVAL(ret);
        }
 
+       /*
+        * Assume a default baudrate if the OS does not provide one.
+        * Cannot assign -1 here since Windows holds the baudrate in
+        * the DCB and does not configure the rate individually.
+        */
+       if (config.baudrate == 0) {
+               config.baudrate = 9600;
+       }
+
        /* Set sane port settings. */
 #ifdef _WIN32
        data.dcb.fBinary = TRUE;