X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=device.c;h=cca0bcd33d5e99b8c9790a90bf7d0f9d2d323667;hb=f1b296fcd290a53c269f5fb0d9e1a3480c1346b6;hp=a49faa8d595df9c05743adb9ec5fbce6b79898e2;hpb=048e8babf73565721707dd9e9ecf4f915941d23e;p=libsigrok.git diff --git a/device.c b/device.c index a49faa8d..cca0bcd3 100644 --- a/device.c +++ b/device.c @@ -225,7 +225,7 @@ SR_API gboolean sr_dev_has_option(const struct sr_dev_inst *sdi, int key) } /** @private */ -SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int index, int status, +SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int mode, int index, int status, const char *vendor, const char *model, const char *version) { struct sr_dev_inst *sdi; @@ -236,6 +236,7 @@ SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int index, int status, } sdi->driver = NULL; + sdi->mode = mode; sdi->index = index; sdi->status = status; sdi->inst_type = -1; @@ -250,6 +251,20 @@ SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int index, int status, } /** @private */ +SR_PRIV void sr_dev_probes_free(struct sr_dev_inst *sdi) +{ + struct sr_probe *probe; + GSList *l; + + for (l = sdi->probes; l; l = l->next) { + probe = l->data; + g_free(probe->name); + g_free(probe); + } + + sdi->probes = NULL; +} + SR_PRIV void sr_dev_inst_free(struct sr_dev_inst *sdi) { struct sr_probe *probe;