X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=serialport.c;h=558322ecfff4e3d529d46998fc7e365b5135a147;hb=65172beffe8d9c4aa4b72782a9b76a4972be3c69;hp=0091d9a8d4757d9d69f3040314b6e989ad6d7ca7;hpb=e33dcf90a0b0e510eb990c657eab88243d0ac5fd;p=libserialport.git diff --git a/serialport.c b/serialport.c index 0091d9a..558322e 100644 --- a/serialport.c +++ b/serialport.c @@ -148,6 +148,8 @@ enum sp_return sp_get_port_usb_bus_address(const struct sp_port *port, RETURN_ERROR(SP_ERR_ARG, "Null port"); if (port->transport != SP_TRANSPORT_USB) RETURN_ERROR(SP_ERR_ARG, "Port does not use USB transport"); + if (port->usb_bus < 0 || port->usb_address < 0) + RETURN_ERROR(SP_ERR_SUPP, "Bus and address values are not available"); if (usb_bus) *usb_bus = port->usb_bus; if (usb_address) *usb_address = port->usb_address; @@ -164,6 +166,8 @@ enum sp_return sp_get_port_usb_vid_pid(const struct sp_port *port, RETURN_ERROR(SP_ERR_ARG, "Null port"); if (port->transport != SP_TRANSPORT_USB) RETURN_ERROR(SP_ERR_ARG, "Port does not use USB transport"); + if (port->usb_vid < 0 || port->usb_pid < 0) + RETURN_ERROR(SP_ERR_SUPP, "VID:PID values are not available"); if (usb_vid) *usb_vid = port->usb_vid; if (usb_pid) *usb_pid = port->usb_pid;