git-svn-id: http://ltt.polymtl.ca/svn@156 04897980-b3bd-0310-b5e0-8ef037075253
[lttv.git] / ltt / branches / poly / ltt / type.c
index ee0d71937ec9255fa827c9779121ba7f556b33cc..c7fdebba718adfca69872ff828f327e5d035ca7b 100644 (file)
@@ -186,7 +186,7 @@ unsigned ltt_type_size(LttTrace * trace, LttType *t)
 
 LttType *ltt_type_element_type(LttType *t)
 {
-  if(t->type_class != LTT_ARRAY || t->type_class != LTT_SEQUENCE)
+  if(t->type_class != LTT_ARRAY && t->type_class != LTT_SEQUENCE)
     return NULL;
   return t->element_type[0];
 }
@@ -218,7 +218,7 @@ unsigned ltt_type_element_number(LttType *t)
 
 unsigned ltt_type_member_number(LttType *t)
 {
-  if(t->type_class != LTT_STRUCT || t->type_class != LTT_UNION)
+  if(t->type_class != LTT_STRUCT && t->type_class != LTT_UNION)
     return 0;
   return t->element_number;  
 }
@@ -236,8 +236,8 @@ unsigned ltt_type_member_number(LttType *t)
 LttType *ltt_type_member_type(LttType *t, unsigned i)
 {
   if(t->type_class != LTT_STRUCT) return NULL;
-  if(i > t->element_number || i == 0 ) return NULL;
-  return t->element_type[i-1];
+  if(i >= t->element_number || i < 0 ) return NULL;
+  return t->element_type[i];
 }
 
 /*****************************************************************************
@@ -255,8 +255,8 @@ LttType *ltt_type_member_type(LttType *t, unsigned i)
 char *ltt_enum_string_get(LttType *t, unsigned i)
 {  
   if(t->type_class != LTT_ENUM) return NULL;
-  if(i > t->element_number || i == 0 ) return NULL;
-  return t->enum_strings[i-1];
+  if(i >= t->element_number || i < 0 ) return NULL;
+  return t->enum_strings[i];
 }
 
 /*****************************************************************************
@@ -271,7 +271,7 @@ char *ltt_enum_string_get(LttType *t, unsigned i)
 
 LttField *ltt_field_element(LttField *f)
 {
-  if(f->field_type->type_class != LTT_ARRAY ||
+  if(f->field_type->type_class != LTT_ARRAY &&
      f->field_type->type_class != LTT_SEQUENCE)
     return NULL;
 
@@ -291,8 +291,8 @@ LttField *ltt_field_element(LttField *f)
 LttField *ltt_field_member(LttField *f, unsigned i)
 {
   if(f->field_type->type_class != LTT_STRUCT) return NULL;
-  if(i==0 || i>f->field_type->element_number) return NULL;
-  return f->child[i-1];
+  if(i < 0 || i >= f->field_type->element_number) return NULL;
+  return f->child[i];
 }
 
 /*****************************************************************************
This page took 0.024833 seconds and 4 git commands to generate.