X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=genevent%2Fparser.c;fp=genevent%2Fparser.c;h=0b725ecc700f42700276e3c541a971c3a557555a;hb=b868b8b881e69a12b725d4363a188d4eff7b74dc;hp=25fabab5e98245b59b2704f25d8e80659e1f5b24;hpb=2d1580e7d355e380bfb61abf108c55c3fbb76a9d;p=lttv.git diff --git a/genevent/parser.c b/genevent/parser.c index 25fabab5..0b725ecc 100644 --- a/genevent/parser.c +++ b/genevent/parser.c @@ -436,7 +436,7 @@ char *getNameAttribute(parse_file_t *in) //Return value : 0 : no value, 1 : has a value int getValueAttribute(parse_file_t *in, long long *value) { - char * token, *token2; + char * token, * endptr; token = getToken(in); @@ -449,24 +449,12 @@ int getValueAttribute(parse_file_t *in, long long *value) getEqual(in); token = getToken(in); - if(in->type == QUOTEDSTRING) { - in->type = NUMBER; - token2 = token; - do { - if (!isdigit(*token2)) { - in->type = QUOTEDSTRING; - break; - } - } while (*(++token2) != '\0'); - } - - if(in->type == NUMBER) - *value = strtoll(token, NULL, 0); - else + *value = strtoll(token, &endptr, 0); + if(*endptr != '\0') goto error; return 1; error: - in->error(in,"incorrect size specification"); + in->error(in,"invalid number specified"); return 0; }