X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fscpi%2Fscpi.c;h=fbb57472b3301bb4510a622e6295d04bc0438b58;hb=5305266a28c1af09267f43f8941b6012be3d954f;hp=38e322f5ffb7190e9998d81fa69c7e0ef80f441c;hpb=7343ad1ec72860b5d11ca8f35c4d014a1fa5b643;p=libsigrok.git diff --git a/src/scpi/scpi.c b/src/scpi/scpi.c index 38e322f5..fbb57472 100644 --- a/src/scpi/scpi.c +++ b/src/scpi/scpi.c @@ -157,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. */ @@ -404,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);