diff options
author | Karl Palsson <karlp@etactica.com> | 2016-04-11 17:25:42 +0200 |
---|---|---|
committer | Uwe Hermann <uwe@hermann-uwe.de> | 2017-02-20 16:28:27 +0100 |
commit | 3262ef0203e23399f3cab796391da06969c8306b (patch) | |
tree | 98a46c8eff87242c8cc89870e5008a116d5d23e0 /decoder.c | |
parent | 1d4fe1c19c0948fb67b4a91495b126a763ea7adb (diff) | |
download | libsigrokdecode-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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. */ |