X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok-cli.c;h=70d3a59ee6cc2c3517c21baa84469619a129e255;hb=a2853311f3a1d9a6e43bd08efbd960f079431bc0;hp=488edc9d4b3d3ff080a77f5577e3c0771c51175d;hpb=3aa87d4c38b26d337bf7bf5eb44b6a4650709804;p=sigrok-cli.git diff --git a/sigrok-cli.c b/sigrok-cli.c index 488edc9..70d3a59 100644 --- a/sigrok-cli.c +++ b/sigrok-cli.c @@ -140,6 +140,12 @@ static GSList *hash_to_hwopt(GHashTable *hash) return opts; } +static void free_hwopt(struct sr_hwopt *hwopt) +{ + g_free((void *)hwopt->value); + g_free(hwopt); +} + static GSList *device_scan(void) { struct sr_dev_driver **drivers, *driver; @@ -174,6 +180,7 @@ static GSList *device_scan(void) /* Unknown options, already logged. */ return NULL; devices = sr_driver_scan(driver, drvopts); + g_slist_free_full(drvopts, (GDestroyNotify)free_hwopt); } else { /* No driver specified, let them all scan on their own. */ devices = NULL; @@ -196,7 +203,7 @@ static GSList *device_scan(void) static void show_version(void) { - GSList *l; + const GSList *l; struct sr_dev_driver **drivers; struct sr_input_format **inputs; struct sr_output_format **outputs; @@ -440,7 +447,7 @@ static void show_dev_detail(void) printf(" %s\n", stropts[i]); } else if (hwo->hwcap == SR_HWCAP_FILTER) { - /* Supported trigger sources */ + /* Supported filters */ printf(" %s", hwo->shortname); if (sr_info_get(sdi->driver, SR_DI_FILTERS, (const void **)&stropts, sdi) != SR_OK) { @@ -544,18 +551,14 @@ static void datafeed_in(const struct sr_dev_inst *sdi, { static struct sr_output *o = NULL; static int logic_probelist[SR_MAX_NUM_PROBES] = { -1 }; - static struct sr_probe *analog_probelist[SR_MAX_NUM_PROBES]; static uint64_t received_samples = 0; static int unitsize = 0; static int triggered = 0; static FILE *outfile = NULL; - static int num_analog_probes = 0; struct sr_probe *probe; const struct sr_datafeed_logic *logic; const struct sr_datafeed_meta_logic *meta_logic; const struct sr_datafeed_analog *analog; - const struct sr_datafeed_meta_analog *meta_analog; - static int num_enabled_analog_probes = 0; int num_enabled_probes, sample_size, ret, i; uint64_t output_len, filter_out_len; uint8_t *output_buf, *filter_out; @@ -719,14 +722,6 @@ static void datafeed_in(const struct sr_dev_inst *sdi, case SR_DF_META_ANALOG: g_message("cli: Received SR_DF_META_ANALOG"); - meta_analog = packet->payload; - num_analog_probes = meta_analog->num_probes; - num_enabled_analog_probes = 0; - for (i = 0; i < num_analog_probes; i++) { - probe = g_slist_nth_data(sdi->probes, i); - if (probe->enabled) - analog_probelist[num_enabled_analog_probes++] = probe; - } outfile = stdout; if (opt_output_file) {