X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=input%2Finput_binary.c;h=9d7e1560a4dbcdd0187c3a0222baeeea765f9ab6;hb=cd315a80d87a24a19a7846497d74c5ca85d494a0;hp=4286a6c3459a1bcd5eaf7e1be1b863f8159be4dd;hpb=719c5a934c7705466a449854b876b9962eb4cb5e;p=libsigrok.git diff --git a/input/input_binary.c b/input/input_binary.c index 4286a6c3..9d7e1560 100644 --- a/input/input_binary.c +++ b/input/input_binary.c @@ -23,12 +23,11 @@ #include #include #include -#include +#include "sigrok.h" #define CHUNKSIZE 4096 #define DEFAULT_NUM_PROBES 8 - static int format_match(const char *filename) { /* suppress compiler warning */ @@ -40,17 +39,25 @@ static int format_match(const char *filename) static int init(struct sr_input *in) { - int num_probes; + int num_probes, i; + char name[SR_MAX_PROBENAME_LEN + 1]; if (in->param && in->param[0]) { num_probes = strtoul(in->param, NULL, 10); if (num_probes < 1) return SR_ERR; - } else + } else { num_probes = DEFAULT_NUM_PROBES; + } - /* create a virtual device */ - in->vdevice = sr_device_new(NULL, 0, num_probes); + /* Create a virtual device. */ + in->vdevice = sr_device_new(NULL, 0); + + for (i = 0; i < num_probes; i++) { + snprintf(name, SR_MAX_PROBENAME_LEN, "%d", i); + /* TODO: Check return value. */ + sr_device_probe_add(in->vdevice, name); + } return SR_OK; }