X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust%2Flttng-filter-interpreter.c;h=f991ebb7ed95d9956e9ec523308067684243cae5;hb=refs%2Fheads%2Fstable-2.12;hp=59bc72cdf442027e8e78ba535c91a9e13bd7502f;hpb=93c591bb3a90753ce66197f2c1e41c8ef554506f;p=lttng-ust.git diff --git a/liblttng-ust/lttng-filter-interpreter.c b/liblttng-ust/lttng-filter-interpreter.c index 59bc72cd..f991ebb7 100644 --- a/liblttng-ust/lttng-filter-interpreter.c +++ b/liblttng-ust/lttng-filter-interpreter.c @@ -173,7 +173,7 @@ uint64_t lttng_filter_false(void *filter_data, */ #define START_OP \ - start_pc = &bytecode->data[0]; \ + start_pc = &bytecode->code[0]; \ for (pc = next_pc = start_pc; pc - start_pc < bytecode->len; \ pc = next_pc) { \ dbg_printf("Executing op %s (%u)\n", \ @@ -246,6 +246,7 @@ static int context_get_index(struct lttng_ctx *ctx, ptr->u.u64 = v.u.s64; /* Cast. */ ptr->ptr = &ptr->u.u64; } + ptr->rev_bo = field->type.u.basic.integer.reverse_byte_order; break; case atype_enum: { @@ -262,6 +263,7 @@ static int context_get_index(struct lttng_ctx *ctx, ptr->u.u64 = v.u.s64; /* Cast. */ ptr->ptr = &ptr->u.u64; } + ptr->rev_bo = itype->reverse_byte_order; break; } case atype_array: @@ -297,8 +299,10 @@ static int context_get_index(struct lttng_ctx *ctx, break; case atype_float: ptr->object_type = OBJECT_TYPE_DOUBLE; + ctx_field->get_value(ctx_field, &v); ptr->u.d = v.u.d; ptr->ptr = &ptr->u.d; + ptr->rev_bo = field->type.u.basic._float.reverse_byte_order; break; case atype_dynamic: ctx_field->get_value(ctx_field, &v); @@ -309,12 +313,22 @@ static int context_get_index(struct lttng_ctx *ctx, ptr->object_type = OBJECT_TYPE_S64; ptr->u.s64 = v.u.s64; ptr->ptr = &ptr->u.s64; + /* + * struct lttng_ctx_value does not currently + * feature a byte order field. + */ + ptr->rev_bo = false; dbg_printf("context get index dynamic s64 %" PRIi64 "\n", ptr->u.s64); break; case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: ptr->object_type = OBJECT_TYPE_DOUBLE; ptr->u.d = v.u.d; ptr->ptr = &ptr->u.d; + /* + * struct lttng_ctx_value does not currently + * feature a byte order field. + */ + ptr->rev_bo = false; dbg_printf("context get index dynamic double %g\n", ptr->u.d); break; case LTTNG_UST_DYNAMIC_TYPE_STRING: