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.
struct sr_trigger *trigger;
struct sr_dev_inst *sdi;
uint64_t min_samples, max_samples;
struct sr_trigger *trigger;
struct sr_dev_inst *sdi;
uint64_t min_samples, max_samples;
guint i;
int is_demo_dev;
struct sr_dev_driver *driver;
guint i;
int is_demo_dev;
struct sr_dev_driver *driver;
driver = sr_dev_inst_driver_get(sdi);
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;
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)
- g_array_free(dev_opts, TRUE);
+ g_array_free(drv_opts, TRUE);
if (!is_demo_dev)
real_devices = g_slist_append(real_devices, sdi);
if (!is_demo_dev)
real_devices = g_slist_append(real_devices, sdi);