From: Wolfram Sang Date: Sun, 5 Apr 2020 21:24:50 +0000 (+0200) Subject: Return proper type when sp_get_port_transport() fails X-Git-Tag: libserialport-0.1.2~16 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=086a4181459ff5723d71a1604ddef058030155dd;p=libserialport.git Return proper type when sp_get_port_transport() fails 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 --- diff --git a/serialport.c b/serialport.c index 51fe078..1daba1c 100644 --- a/serialport.c +++ b/serialport.c @@ -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,