]> sigrok.org Git - libserialport.git/blobdiff - serialport.c
Add SP_MODE_READ_WRITE enum value.
[libserialport.git] / serialport.c
index 4dc1b83d0146917fcfc5927db51df905645351f5..d4371400d5fa46a388ab66061a920fed6448d9d2 100644 (file)
@@ -402,7 +402,7 @@ SP_API enum sp_return sp_open(struct sp_port *port, enum sp_mode flags)
 
        CHECK_PORT();
 
-       if (flags > (SP_MODE_READ | SP_MODE_WRITE))
+       if (flags > SP_MODE_READ_WRITE)
                RETURN_ERROR(SP_ERR_ARG, "Invalid flags");
 
        DEBUG_FMT("Opening port %s", port->name);
@@ -479,7 +479,7 @@ SP_API enum sp_return sp_open(struct sp_port *port, enum sp_mode flags)
        int flags_local = O_NONBLOCK | O_NOCTTY;
 
        /* Map 'flags' to the OS-specific settings. */
-       if (flags & (SP_MODE_READ | SP_MODE_WRITE))
+       if ((flags & SP_MODE_READ_WRITE) == SP_MODE_READ_WRITE)
                flags_local |= O_RDWR;
        else if (flags & SP_MODE_READ)
                flags_local |= O_RDONLY;