X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fbaylibre-acme%2Fprotocol.c;h=8769eefe7e662a259f9096fe093a6a71715f4d15;hb=329733d92c5004f0fe308eff26b9537fded2cdf3;hp=e7f1ede1faf04d80133c2e3b49140c732b056484;hpb=3452785431dea578275d2dfd584709c5f7c6db9a;p=libsigrok.git diff --git a/src/hardware/baylibre-acme/protocol.c b/src/hardware/baylibre-acme/protocol.c index e7f1ede1..8769eefe 100644 --- a/src/hardware/baylibre-acme/protocol.c +++ b/src/hardware/baylibre-acme/protocol.c @@ -201,13 +201,12 @@ static void append_channel(struct sr_dev_inst *sdi, struct sr_channel_group *cg, cp->ch_type = type; cp->probe = cg->priv; - ch = sr_channel_new(devc->num_channels++, + ch = sr_channel_new(sdi, devc->num_channels++, SR_CHANNEL_ANALOG, TRUE, name); g_free(name); ch->priv = cp; cg->channels = g_slist_append(cg->channels, ch); - sdi->channels = g_slist_append(sdi->channels, ch); } SR_PRIV gboolean bl_acme_register_probe(struct sr_dev_inst *sdi, int type, @@ -329,16 +328,11 @@ SR_PRIV int bl_acme_set_shunt(const struct sr_channel_group *cg, uint64_t shunt) fd = g_fopen(path->str, "w"); if (!fd) { sr_err("Error opening %s: %s", path->str, strerror(errno)); - g_string_free(path, TRUE); - return SR_ERR_IO; + ret = SR_ERR_IO; + goto out; } - g_string_free(path, TRUE); g_fprintf(fd, "%" PRIu64 "\n", MOHM_TO_UOHM(shunt)); - /* - * XXX There's no g_fclose() in GLib. This seems to work, - * but is it safe? - */ fclose(fd); out: