pd_ann_visible = g_hash_table_new_full(g_str_hash, g_str_equal,
g_free, NULL);
- pd_probe_maps = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
- (GDestroyNotify)g_hash_table_destroy);
ret = 0;
pd_name = NULL;
- pd_opthash = options = probes = NULL;
+ pd_opthash = options = probes = pd_probe_maps = NULL;
pdtokens = g_strsplit(opt_pds, ",", 0);
for (pdtok = pdtokens; *pdtok; pdtok++) {
if (!(pd_opthash = parse_generic_arg(*pdtok, TRUE))) {
break;
}
- /* Save the probe setup for later. */
- g_hash_table_insert(pd_probe_maps, g_strdup(di->inst_id), probes);
- probes = NULL;
+ if (pdtok == pdtokens) {
+ /* Save the probe setup for later, but only on the first
+ * decoder -- stacked decoders don't get probes. */
+ pd_probe_maps = g_hash_table_new_full(g_str_hash,
+ g_str_equal, g_free, (GDestroyNotify)g_hash_table_destroy);
+ g_hash_table_insert(pd_probe_maps, g_strdup(di->inst_id), probes);
+ probes = NULL;
+ }
/* If no annotation list was specified, add them all in now.
* This will be pared down later to leave only the last PD
(char *)probe_target);
continue;
}
- if (probe->enabled)
- g_printerr("cli: Mapping probe \"%s\" to \"%s\" "
- "(index %d).\n", (char *)probe_id,
- (char *)probe_target, probe->index);
- else
+ if (!probe->enabled)
g_printerr("cli: Target probe \"%s\" not enabled.\n",
(char *)probe_target);