fixes coming from the powerpc port
[lttv.git] / ltt / branches / poly / ltt / event.c
index 8011782a6be589617d8cd7f830163e296fe614a7..17e9688a14ce5d82a00704dd0bb45bfd8414ece1 100644 (file)
@@ -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;
This page took 0.025098 seconds and 4 git commands to generate.