]> sigrok.org Git - sigrok-test.git/blobdiff - decoder/runtc.c
runtc: avoid the 'class' identifier in C language application code
[sigrok-test.git] / decoder / runtc.c
index 90c37b64b76746ed7391b8ae20c90c0703b3310e..f095933df8697f1779a7da026d806013539f8c40 100644 (file)
@@ -17,6 +17,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <config.h>
+
 #include <Python.h>
 #include <libsigrokdecode/libsigrokdecode.h>
 #include <libsigrok/libsigrok.h>
@@ -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':