]> sigrok.org Git - libsigrok.git/blobdiff - src/input/raw_analog.c
siglent-sds: initial driver implementation for Siglent SDS
[libsigrok.git] / src / input / raw_analog.c
index 95b1d669ee0d5b51a2278ec4e8b14c625bc6fdaf..68ac1c956fdefa6b4c200826507ed47f9b658b98 100644 (file)
@@ -105,7 +105,7 @@ static int init(struct sr_input *in, GHashTable *options)
 {
        struct context *inc;
        int num_channels;
-       char channelname[8];
+       char channelname[16];
        const char *format;
        int fmt_index;
 
@@ -130,7 +130,7 @@ static int init(struct sr_input *in, GHashTable *options)
        in->priv = inc = g_malloc0(sizeof(struct context));
 
        for (int i = 0; i < num_channels; i++) {
-               snprintf(channelname, 8, "CH%d", i + 1);
+               snprintf(channelname, sizeof(channelname) - 1, "CH%d", i + 1);
                sr_channel_new(in->sdi, i, SR_CHANNEL_ANALOG, TRUE, channelname);
        }
 
@@ -271,8 +271,8 @@ static int reset(struct sr_input *in)
 {
        struct context *inc = in->priv;
 
-       cleanup(in);
        inc->started = FALSE;
+       cleanup(in);
        g_string_truncate(in->buf, 0);
 
        return SR_OK;