From 9bf7f71c8e29328bda5689d79b412cc0dde9fbe9 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Fri, 31 Jan 2014 00:13:32 +0100 Subject: srd_inst_probe_set_all: Error out upon missing required probes. --- instance.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'instance.c') diff --git a/instance.c b/instance.c index ab813e6..594f144 100644 --- a/instance.c +++ b/instance.c @@ -305,6 +305,16 @@ SRD_API int srd_inst_probe_set_all(struct srd_decoder_inst *di, (i < num_required_probes) ? "required" : "optional"); } + /* Report an error if not all required probes were specified. */ + for (i = 0; i < num_required_probes; i++) { + if (new_probemap[i] != -1) + continue; + p = g_slist_nth(di->decoder->probes, i)->data; + srd_err("Required probe '%s' (index %d) was not specified.", + p->id, i); + return SRD_ERR; + } + g_free(di->dec_probemap); di->dec_probemap = new_probemap; -- cgit v1.2.3-70-g09d2