X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=decoder%2Fruntc.c;h=f095933df8697f1779a7da026d806013539f8c40;hb=15cc940fb8d79ffee3f41d269998901861a542c7;hp=90c37b64b76746ed7391b8ae20c90c0703b3310e;hpb=c83a4758759625c438791d3aa5bc4c4823649157;p=sigrok-test.git diff --git a/decoder/runtc.c b/decoder/runtc.c index 90c37b6..f095933 100644 --- a/decoder/runtc.c +++ b/decoder/runtc.c @@ -17,6 +17,8 @@ * along with this program. If not, see . */ +#include + #include #include #include @@ -68,7 +70,7 @@ struct output { const char *pd; const char *pd_id; int type; - const char *class; + const char *class_; int class_idx; const char *outfile; int outfd; @@ -366,6 +368,9 @@ static void sr_cb(const struct sr_dev_inst *sdi, break; case SR_DF_END: DBG("Received SR_DF_END"); +#if defined HAVE_SRD_SESSION_SEND_EOF && HAVE_SRD_SESSION_SEND_EOF + (void)srd_session_send_eof(sess); +#endif break; } @@ -544,7 +549,7 @@ static int run_testcase(const char *infile, GSList *pdlist, struct output *op) /* Resolve selected decoder's class index, so we can match. */ dec = srd_decoder_get_by_id(pd->name); - if (op->class) { + if (op->class_) { if (op->type == SRD_OUTPUT_ANN) l = dec->annotations; else if (op->type == SRD_OUTPUT_BINARY) @@ -557,7 +562,7 @@ static int run_testcase(const char *infile, GSList *pdlist, struct output *op) idx = 0; while (l) { decoder_class = l->data; - if (!strcmp(decoder_class[0], op->class)) { + if (!strcmp(decoder_class[0], op->class_)) { op->class_idx = idx; break; } @@ -566,10 +571,10 @@ static int run_testcase(const char *infile, GSList *pdlist, struct output *op) } if (op->class_idx == -1) { ERR("Output class '%s' not found in decoder %s.", - op->class, pd->name); + op->class_, pd->name); return FALSE; } - DBG("Class %s index is %d", op->class, op->class_idx); + DBG("Class %s index is %d", op->class_, op->class_idx); } sr_session_start(sr_sess); @@ -822,7 +827,7 @@ int main(int argc, char **argv) op->pd = NULL; op->pd_id = NULL; op->type = -1; - op->class = NULL; + op->class_ = NULL; op->class_idx = -1; op->outfd = 1; @@ -904,7 +909,7 @@ int main(int argc, char **argv) usage(NULL); } if (opstr[2]) - op->class = g_strdup(opstr[2]); + op->class_ = g_strdup(opstr[2]); g_strfreev(opstr); break; case 'f':