]> sigrok.org Git - libserialport.git/commitdiff
Return proper type when sp_get_port_transport() fails
authorWolfram Sang <redacted>
Sun, 5 Apr 2020 21:24:50 +0000 (23:24 +0200)
committerWolfram Sang <redacted>
Mon, 4 May 2020 20:05:00 +0000 (22:05 +0200)
The above function must always return an 'enum sp_transport'. So, return
NATIVE if no port is present because its effective meaning within the
API is "you shouldn't call any transport-specific functions for this
port handle".

Fixes bug #1531.

Signed-off-by: Wolfram Sang <redacted>
serialport.c

index 51fe0788fc4abd015adc9768d63c9288ac9e0593..1daba1cf58ffac67ade1c817bc387f9f62ed9a32 100644 (file)
@@ -155,10 +155,7 @@ SP_API enum sp_transport sp_get_port_transport(const struct sp_port *port)
 {
        TRACE("%p", port);
 
-       if (!port)
-               RETURN_ERROR(SP_ERR_ARG, "Null port");
-
-       RETURN_INT(port->transport);
+       RETURN_INT(port ? port->transport : SP_TRANSPORT_NATIVE);
 }
 
 SP_API enum sp_return sp_get_port_usb_bus_address(const struct sp_port *port,