From: Gerhard Sittig Date: Sat, 17 Jun 2017 16:19:34 +0000 (+0200) Subject: session: Adjust scan for non-demo device X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=35e8578ecc6926986f62d8e5daf68dd0b35ba085;p=sigrok-cli.git session: Adjust scan for non-demo device The "demo?" condition is a property of the driver not a device instance. Adjust the check accordingly, by not passing the 'sdi' when retrieving the list of options. Rename the involved variable to reflect its purpose. Adjust an error message text. This fixes bug #848. --- diff --git a/session.c b/session.c index 4b55544..6b31ef5 100644 --- a/session.c +++ b/session.c @@ -531,7 +531,7 @@ void run_session(void) struct sr_trigger *trigger; struct sr_dev_inst *sdi; uint64_t min_samples, max_samples; - GArray *dev_opts; + GArray *drv_opts; guint i; int is_demo_dev; struct sr_dev_driver *driver; @@ -550,18 +550,18 @@ void run_session(void) driver = sr_dev_inst_driver_get(sdi); - if (!(dev_opts = sr_dev_options(driver, sdi, NULL))) { - g_critical("Failed to query list device options."); + if (!(drv_opts = sr_dev_options(driver, NULL, NULL))) { + g_critical("Failed to query list of driver options."); return; } is_demo_dev = 0; - for (i = 0; i < dev_opts->len; i++) { - if (g_array_index(dev_opts, uint32_t, i) == SR_CONF_DEMO_DEV) + for (i = 0; i < drv_opts->len; i++) { + if (g_array_index(drv_opts, uint32_t, i) == SR_CONF_DEMO_DEV) is_demo_dev = 1; } - g_array_free(dev_opts, TRUE); + g_array_free(drv_opts, TRUE); if (!is_demo_dev) real_devices = g_slist_append(real_devices, sdi);