X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=instance.c;h=36088744893b7a76f8b0c74e8da33d977c3d3a13;hb=7e09e39c756c17ff783405ac13e0d3fa211fe8e7;hp=36fb2d0c32889b609712ba6dc2f42a00f1aecda2;hpb=b92543610e86daf57b0f042a899c9897d8234fa0;p=libsigrokdecode.git diff --git a/instance.c b/instance.c index 36fb2d0..3608874 100644 --- a/instance.c +++ b/instance.c @@ -167,7 +167,7 @@ SRD_API int srd_inst_option_set(struct srd_decoder_inst *di, } } else if (g_variant_is_of_type(value, G_VARIANT_TYPE_INT64)) { val_int = g_variant_get_int64(value); - if (!(py_optval = PyLong_FromLong(val_int))) { + if (!(py_optval = PyLong_FromLongLong(val_int))) { /* ValueError Exception */ PyErr_Clear(); srd_err("Option '%s' has invalid integer value.", sdo->id); @@ -699,7 +699,7 @@ SRD_PRIV int srd_inst_start(struct srd_decoder_inst *di) Py_DECREF(py_res); /* Set self.samplenum to 0. */ - py_samplenum = PyLong_FromLong(0); + py_samplenum = PyLong_FromUnsignedLongLong(0); PyObject_SetAttrString(di->py_inst, "samplenum", py_samplenum); Py_DECREF(py_samplenum); @@ -895,6 +895,8 @@ static gboolean all_terms_match(const struct srd_decoder_inst *di, for (l = cond; l; l = l->next) { term = l->data; + if (term->type == SRD_TERM_ALWAYS_FALSE) + return FALSE; if (!term_matches(di, term, sample_pos)) return FALSE; }