X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Fevent.c;h=17e9688a14ce5d82a00704dd0bb45bfd8414ece1;hb=d5824ed005762c6c3b51b556729eed8108d204aa;hp=8011782a6be589617d8cd7f830163e296fe614a7;hpb=647142533be90e1115ba4e06d0a959190797a541;p=lttv.git diff --git a/ltt/branches/poly/ltt/event.c b/ltt/branches/poly/ltt/event.c index 8011782a..17e9688a 100644 --- a/ltt/branches/poly/ltt/event.c +++ b/ltt/branches/poly/ltt/event.c @@ -373,8 +373,13 @@ off_t ltt_event_field_offset(LttEvent *e, LttField *f) ****************************************************************************/ guint32 ltt_event_get_unsigned(LttEvent *e, LttField *f) { - gboolean reverse_byte_order = LTT_GET_BO(e->tracefile); - + gboolean reverse_byte_order; + if(unlikely(f->field_type.network)) { + reverse_byte_order = (g_ntohs(0x1) != 0x1); + } else { + reverse_byte_order = LTT_GET_BO(e->tracefile); + } + switch(f->field_size) { case 1: { @@ -398,8 +403,13 @@ guint32 ltt_event_get_unsigned(LttEvent *e, LttField *f) gint32 ltt_event_get_int(LttEvent *e, LttField *f) { - gboolean reverse_byte_order = LTT_GET_BO(e->tracefile); - + gboolean reverse_byte_order; + if(unlikely(f->field_type.network)) { + reverse_byte_order = (g_ntohs(0x1) != 0x1); + } else { + reverse_byte_order = LTT_GET_BO(e->tracefile); + } + switch(f->field_size) { case 1: { @@ -423,7 +433,12 @@ gint32 ltt_event_get_int(LttEvent *e, LttField *f) guint64 ltt_event_get_long_unsigned(LttEvent *e, LttField *f) { - gboolean reverse_byte_order = LTT_GET_BO(e->tracefile); + gboolean reverse_byte_order; + if(unlikely(f->field_type.network)) { + reverse_byte_order = (g_ntohs(0x1) != 0x1); + } else { + reverse_byte_order = LTT_GET_BO(e->tracefile); + } switch(f->field_size) { case 1: @@ -450,7 +465,12 @@ guint64 ltt_event_get_long_unsigned(LttEvent *e, LttField *f) gint64 ltt_event_get_long_int(LttEvent *e, LttField *f) { - gboolean reverse_byte_order = LTT_GET_BO(e->tracefile); + gboolean reverse_byte_order; + if(unlikely(f->field_type.network)) { + reverse_byte_order = (g_ntohs(0x1) != 0x1); + } else { + reverse_byte_order = LTT_GET_BO(e->tracefile); + } switch(f->field_size) { case 1: @@ -477,8 +497,13 @@ gint64 ltt_event_get_long_int(LttEvent *e, LttField *f) float ltt_event_get_float(LttEvent *e, LttField *f) { - g_assert(LTT_HAS_FLOAT(e->tracefile)); - gboolean reverse_byte_order = LTT_GET_FLOAT_BO(e->tracefile); + gboolean reverse_byte_order; + if(unlikely(f->field_type.network)) { + reverse_byte_order = (g_ntohs(0x1) != 0x1); + } else { + g_assert(LTT_HAS_FLOAT(e->tracefile)); + reverse_byte_order = LTT_GET_FLOAT_BO(e->tracefile); + } g_assert(f->field_type.type_class == LTT_FLOAT && f->field_size == 4); @@ -492,8 +517,13 @@ float ltt_event_get_float(LttEvent *e, LttField *f) double ltt_event_get_double(LttEvent *e, LttField *f) { - g_assert(LTT_HAS_FLOAT(e->tracefile)); - gboolean reverse_byte_order = LTT_GET_FLOAT_BO(e->tracefile); + gboolean reverse_byte_order; + if(unlikely(f->field_type.network)) { + reverse_byte_order = (g_ntohs(0x1) != 0x1); + } else { + g_assert(LTT_HAS_FLOAT(e->tracefile)); + reverse_byte_order = LTT_GET_FLOAT_BO(e->tracefile); + } if(f->field_size == 4) return ltt_event_get_float(e, f); @@ -657,7 +687,7 @@ void compute_fields_offsets(LttTracefile *tf, guint i; gint ret=0; if(field->fixed_root == FIELD_VARIABLE) { - *offset += ltt_align(*offset, get_alignment(fac, field), + *offset += ltt_align(*offset, get_alignment(field), fac->alignment); /* remember offset */ field->offset_root = *offset;