X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-test.git;a=blobdiff_plain;f=decoder%2Fruntc.c;h=49e6a61009d8eaa9eb34ef128921973bcbac245d;hp=05ddfd2470e89f2716c95cdaf847c1ecf02c211b;hb=e0cad268d59de9eb78d18c1e891b7f600696601e;hpb=6463feb2b58ac16cb12cfd325d9662c4a15e19ee diff --git a/decoder/runtc.c b/decoder/runtc.c index 05ddfd2..49e6a61 100644 --- a/decoder/runtc.c +++ b/decoder/runtc.c @@ -53,17 +53,17 @@ struct option { }; struct pd { - char *name; + const char *name; GSList *channels; GSList *options; }; struct output { - char *pd; + const char *pd; int type; - char *class; + const char *class; int class_idx; - char *outfile; + const char *outfile; int outfd; }; @@ -74,12 +74,12 @@ struct cvg { GSList *missed_lines; }; -static struct cvg *get_mod_cov(PyObject *py_cov, char *module_name); -static void cvg_add(struct cvg *dst, struct cvg *src); +static struct cvg *get_mod_cov(PyObject *py_cov, const char *module_name); +static void cvg_add(struct cvg *dst, const struct cvg *src); static struct cvg *cvg_new(void); -static gboolean find_missed_line(struct cvg *cvg, char *linespec); +static gboolean find_missed_line(struct cvg *cvg, const char *linespec); -static void logmsg(char *prefix, FILE *out, const char *format, va_list args) +static void logmsg(const char *prefix, FILE *out, const char *format, va_list args) { if (prefix) fprintf(out, "%s", prefix); @@ -131,7 +131,7 @@ static int srd_log(void *cb_data, int loglevel, const char *format, va_list args return SRD_OK; } -static void usage(char *msg) +static void usage(const char *msg) { if (msg) fprintf(stderr, "%s\n", msg); @@ -149,9 +149,11 @@ static void usage(char *msg) } -/* This is a neutered version of libsigrokdecode's py_str_as_str(). It +/* + * This is a neutered version of libsigrokdecode's py_str_as_str(). It * does no error checking, but then the only strings it processes are - * generated by Python's repr(), so are known good. */ + * generated by Python's repr(), so are known good. + */ static char *py_str_as_str(const PyObject *py_str) { PyObject *py_encstr; @@ -315,7 +317,7 @@ static void sr_cb(const struct sr_dev_inst *sdi, DBG("Received SR_DF_LOGIC (%"PRIu64" bytes, unitsize = %d).", logic->length, logic->unitsize); srd_session_send(sess, samplecnt, samplecnt + num_samples, - logic->data, logic->length); + logic->data, logic->length, logic->unitsize); samplecnt += logic->length / logic->unitsize; break; case SR_DF_END: @@ -325,7 +327,7 @@ static void sr_cb(const struct sr_dev_inst *sdi, } -static int run_testcase(char *infile, GSList *pdlist, struct output *op) +static int run_testcase(const char *infile, GSList *pdlist, struct output *op) { struct srd_session *sess; struct srd_decoder *dec; @@ -343,9 +345,6 @@ static int run_testcase(char *infile, GSList *pdlist, struct output *op) struct sr_session *sr_sess; gboolean is_number; const char *s; - struct sr_dev_inst *sdi; - uint64_t unitsize; - struct sr_dev_driver *driver; if (op->outfile) { if ((op->outfd = open(op->outfile, O_CREAT|O_WRONLY, 0600)) == -1) { @@ -359,11 +358,6 @@ static int run_testcase(char *infile, GSList *pdlist, struct output *op) return FALSE; sr_session_dev_list(sr_sess, &devices); - sdi = devices->data; - driver = sr_dev_inst_driver_get(sdi); - sr_config_get(driver, sdi, NULL, SR_CONF_CAPTURE_UNITSIZE, &gvar); - unitsize = g_variant_get_uint64(gvar); - g_variant_unref(gvar); if (srd_session_new(&sess) != SRD_OK) return FALSE; @@ -430,13 +424,15 @@ static int run_testcase(char *infile, GSList *pdlist, struct output *op) g_hash_table_insert(channels, channel->name, gvar); } - if (srd_inst_channel_set_all(di, channels, unitsize) != SRD_OK) + if (srd_inst_channel_set_all(di, channels) != SRD_OK) return FALSE; g_hash_table_destroy(channels); } - /* If this is not the first decoder in the list, stack it - * on top of the previous one. */ + /* + * If this is not the first decoder in the list, stack it + * on top of the previous one. + */ if (prev_di) { if (srd_inst_stack(sess, prev_di, di) != SRD_OK) { ERR("Failed to stack decoder instances."); @@ -524,7 +520,7 @@ static PyObject *start_coverage(GSList *pdlist) return py_cov; } -static struct cvg *get_mod_cov(PyObject *py_cov, char *module_name) +static struct cvg *get_mod_cov(PyObject *py_cov, const char *module_name) { PyObject *py_mod, *py_pathlist, *py_path, *py_func, *py_pd; PyObject *py_result, *py_missed, *py_item; @@ -541,7 +537,7 @@ static struct cvg *get_mod_cov(PyObject *py_cov, char *module_name) py_pathlist = PyObject_GetAttrString(py_mod, "__path__"); for (i = 0; i < PyList_Size(py_pathlist); i++) { py_path = PyList_GetItem(py_pathlist, i); - PyUnicode_FSConverter(PyList_GetItem(py_pathlist, i), &py_path); + PyUnicode_FSConverter(PyList_GetItem(py_pathlist, i), &py_path); path = PyBytes_AS_STRING(py_path); if (!(d = opendir(path))) { ERR("Invalid module path '%s'", path); @@ -601,7 +597,7 @@ static struct cvg *cvg_new(void) return cvg; } -static gboolean find_missed_line(struct cvg *cvg, char *linespec) +static gboolean find_missed_line(struct cvg *cvg, const char *linespec) { GSList *l; @@ -612,7 +608,7 @@ static gboolean find_missed_line(struct cvg *cvg, char *linespec) return FALSE; } -static void cvg_add(struct cvg *dst, struct cvg *src) +static void cvg_add(struct cvg *dst, const struct cvg *src) { GSList *l; char *linespec;