X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fscpi%2Fscpi.c;h=fbb57472b3301bb4510a622e6295d04bc0438b58;hb=5305266a28c1af09267f43f8941b6012be3d954f;hp=ac7cdb575625b9f3b0fbae47b359b4c765928329;hpb=7efe889e7aa5849ae3e4d09b8f50779992502b79;p=libsigrok.git diff --git a/src/scpi/scpi.c b/src/scpi/scpi.c index ac7cdb57..fbb57472 100644 --- a/src/scpi/scpi.c +++ b/src/scpi/scpi.c @@ -71,6 +71,7 @@ SR_PRIV extern const struct sr_scpi_dev_inst scpi_tcp_rigol_dev; SR_PRIV extern const struct sr_scpi_dev_inst scpi_usbtmc_libusb_dev; SR_PRIV extern const struct sr_scpi_dev_inst scpi_vxi_dev; SR_PRIV extern const struct sr_scpi_dev_inst scpi_visa_dev; +SR_PRIV extern const struct sr_scpi_dev_inst scpi_libgpib_dev; static const struct sr_scpi_dev_inst *scpi_devs[] = { &scpi_tcp_raw_dev, @@ -84,6 +85,9 @@ static const struct sr_scpi_dev_inst *scpi_devs[] = { #ifdef HAVE_LIBREVISA &scpi_visa_dev, #endif +#ifdef HAVE_LIBGPIB + &scpi_libgpib_dev, +#endif #ifdef HAVE_LIBSERIALPORT &scpi_serial_dev, /* must be last as it matches any resource */ #endif @@ -153,7 +157,8 @@ SR_PRIV GSList *sr_scpi_scan(struct drv_context *drvc, GSList *options, if (!devices && resource) { sdi = sr_scpi_scan_resource(drvc, resource, serialcomm, probe_device); - devices = g_slist_append(NULL, sdi); + if (sdi) + devices = g_slist_append(NULL, sdi); } /* Tack a copy of the newly found devices onto the driver list. */ @@ -400,6 +405,10 @@ SR_PRIV int sr_scpi_get_string(struct sr_scpi_dev_inst *scpi, if (response->len >= 1 && response->str[response->len - 1] == '\n') g_string_truncate(response, response->len - 1); + /* Get rid of trailing carriage return if present */ + if (response->len >= 1 && response->str[response->len - 1] == '\r') + g_string_truncate(response, response->len - 1); + *scpi_response = response->str; g_string_free(response, FALSE);