X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Ftype.c;h=c7fdebba718adfca69872ff828f327e5d035ca7b;hb=c687f6c85e284b47600b61e20aa0737482a20ef4;hp=ee0d71937ec9255fa827c9779121ba7f556b33cc;hpb=963b5f2df23dc1c70bdc70d4aecb76f50651997b;p=lttv.git diff --git a/ltt/branches/poly/ltt/type.c b/ltt/branches/poly/ltt/type.c index ee0d7193..c7fdebba 100644 --- a/ltt/branches/poly/ltt/type.c +++ b/ltt/branches/poly/ltt/type.c @@ -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]; } /*****************************************************************************