summaryrefslogtreecommitdiff
path: root/decoder.c
diff options
context:
space:
mode:
authorKarl Palsson <karlp@etactica.com>2016-04-11 17:25:42 +0200
committerUwe Hermann <uwe@hermann-uwe.de>2017-02-20 16:28:27 +0100
commit3262ef0203e23399f3cab796391da06969c8306b (patch)
tree98a46c8eff87242c8cc89870e5008a116d5d23e0 /decoder.c
parent1d4fe1c19c0948fb67b4a91495b126a763ea7adb (diff)
downloadlibsigrokdecode-3262ef0203e23399f3cab796391da06969c8306b.tar.gz
libsigrokdecode-3262ef0203e23399f3cab796391da06969c8306b.zip
Support adding multiple instances of a decoder
srd_inst_new() used the decoder ID as the instance ID, preventing the use of multiple instances of the same decoder in the same session. Simply append a numerical suffix to later instances to allow more. Required changes to cleanup to reliably free all memory. Valgrind checked. This fixes parts of bug #868. Based on original work by: Soeren Apel <soeren@apelpie.net> Signed-off-by: Karl Palsson <karlp@etactica.com>
Diffstat (limited to 'decoder.c')
-rw-r--r--decoder.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/decoder.c b/decoder.c
index 8ad0c5a..f15a799 100644
--- a/decoder.c
+++ b/decoder.c
@@ -849,7 +849,7 @@ SRD_API int srd_decoder_unload(struct srd_decoder *dec)
*/
for (l = sessions; l; l = l->next) {
sess = l->data;
- srd_inst_free_all(sess, NULL);
+ srd_inst_free_all(sess);
}
/* Remove the PD from the list of loaded decoders. */