X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Ftype.c;h=1f21f2c91b3e0360e2c54afded6f90764ff6df03;hb=336900061b500618df3b160ac88209a6450352dc;hp=c7fdebba718adfca69872ff828f327e5d035ca7b;hpb=c687f6c85e284b47600b61e20aa0737482a20ef4;p=lttv.git diff --git a/ltt/branches/poly/ltt/type.c b/ltt/branches/poly/ltt/type.c index c7fdebba..1f21f2c9 100644 --- a/ltt/branches/poly/ltt/type.c +++ b/ltt/branches/poly/ltt/type.c @@ -60,12 +60,12 @@ LttFacility *ltt_eventtype_facility(LttEventType *et) *Input params * et : an event type *Return value - * unsigned * : the relative id + * unsigned : the relative id ****************************************************************************/ -unsigned *ltt_eventtype_relative_id(LttEventType *et) +unsigned ltt_eventtype_relative_id(LttEventType *et) { - return (unsigned*)&et->index; + return et->index; } /***************************************************************************** @@ -74,14 +74,12 @@ unsigned *ltt_eventtype_relative_id(LttEventType *et) *Input params * et : an event type *Return value - * unsigned * : the id + * unsigned : the id ****************************************************************************/ -unsigned *ltt_eventtype_id(LttEventType *et) +unsigned ltt_eventtype_id(LttEventType *et) { - unsigned *id = g_new(unsigned,1); - *id = et->facility->base_id + et->index; - return (unsigned*)id; + return et->facility->base_id + et->index; } /***************************************************************************** @@ -164,12 +162,18 @@ unsigned ltt_type_size(LttTrace * trace, LttType *t) return intSizes[t->size]; else{ LttArchSize size = trace->system_description->size; - if(size == LTT_LP32) - return sizeof(int16_t); - else if(size == LTT_ILP32 || size == LTT_LP64) - return sizeof(int32_t); - else if(size == LTT_ILP64) - return sizeof(int64_t); + if(size == LTT_LP32){ + if(t->size == 5)return sizeof(int16_t); + else return sizeof(int32_t); + } + else if(size == LTT_ILP32 || size == LTT_LP64){ + if(t->size == 5)return sizeof(int32_t); + else{ + if(size == LTT_ILP32) return sizeof(int32_t); + else return sizeof(int64_t); + } + } + else if(size == LTT_ILP64)return sizeof(int64_t); } } } @@ -233,10 +237,11 @@ unsigned ltt_type_member_number(LttType *t) * LttType * : the type of structure member ****************************************************************************/ -LttType *ltt_type_member_type(LttType *t, unsigned i) +LttType *ltt_type_member_type(LttType *t, unsigned i, char ** name) { - if(t->type_class != LTT_STRUCT) return NULL; - if(i >= t->element_number || i < 0 ) return NULL; + if(t->type_class != LTT_STRUCT){*name == NULL; return NULL;} + if(i >= t->element_number || i < 0 ){*name = NULL; return NULL;} + *name = t->element_name; return t->element_type[i]; }