X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=genevent%2Fparser.c;h=d998c81381b17672b4bf0caf8de0fd45d03abaa7;hb=ddd2aaff15bd8c90824fd346e60912d59e2f7e07;hp=fe0e01470d182b4997afe4525f287d6d2eb15e53;hpb=cb1eb7ceb78154371c193608bcc9507404fec234;p=lttv.git diff --git a/genevent/parser.c b/genevent/parser.c index fe0e0147..d998c813 100644 --- a/genevent/parser.c +++ b/genevent/parser.c @@ -513,6 +513,8 @@ type_descriptor *parseType(parse_file *in, type_descriptor *inType, char * str, *str1; t->type = ENUM; sequence_init(&(t->labels)); + sequence_init(&(t->labels_description)); + t->already_printed = 0; t->size = getSizeAttribute(in); t->fmt = allocAndCopy(getFormatAttribute(in)); getRAnglebracket(in); @@ -524,17 +526,22 @@ type_descriptor *parseType(parse_file *in, type_descriptor *inType, str = allocAndCopy(getNameAttribute(in)); token = getValueStrAttribute(in); if(token){ - str1 = appendString(str,"="); - free(str); - str = appendString(str1,token); - free(str1); - sequence_push(&(t->labels),str); - }else - sequence_push(&(t->labels),str); + str1 = appendString(str,"="); + free(str); + str = appendString(str1,token); + free(str1); + sequence_push(&(t->labels),str); + } + else + sequence_push(&(t->labels),str); getForwardslash(in); getRAnglebracket(in); + //read description if any. May be NULL. + str = allocAndCopy(getDescription(in)); + sequence_push(&(t->labels_description),str); + //next label definition getLAnglebracket(in); token = getToken(in); //"label" or "/" @@ -542,7 +549,7 @@ type_descriptor *parseType(parse_file *in, type_descriptor *inType, if(strcmp("/",token))in->error(in, "not a valid enum definition"); token = getName(in); if(strcmp("enum",token))in->error(in, "not a valid enum definition"); - getRAnglebracket(in); // + getRAnglebracket(in); // } else if(strcmp(token,"int") == 0) { t->type = INT;