X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=genevent-new%2Fparser.c;h=bcae82e1a4ab89e62948c998a6d7d088bf88c22f;hb=bb9014e64a98ba108f6ca0cf005f6791a7c71164;hp=2d8c9c4ae2f992d4f4252181caeb11747b140bd9;hpb=cdca2ebab538e337d4bfec89a4283f09df9c3199;p=lttv.git diff --git a/genevent-new/parser.c b/genevent-new/parser.c index 2d8c9c4a..bcae82e1 100644 --- a/genevent-new/parser.c +++ b/genevent-new/parser.c @@ -97,11 +97,26 @@ int getSizeindex(unsigned int value) unsigned long long int getSize(parse_file_t *in) { char *token; + int has_quotes = 0; + unsigned long long int ret; token = getToken(in); + if(token[0] == '"') { + has_quotes = 1; + token = getToken(in); + } if(in->type == NUMBER) { - return strtoull(token, NULL, 0); - } + ret = strtoull(token, NULL, 0); + } else { + goto error; + } + if(has_quotes) { + token = getToken(in); + if(token[0] != '"') goto error; + } + + return ret; +error: in->error(in,"incorrect size specification"); return -1; } @@ -360,21 +375,40 @@ char *getNameAttribute(parse_file_t *in) //for