eb75e4c4b7d552be8e3dc9e86edd5131e006ca4d braney Mon Aug 4 16:30:46 2014 -0700 add dash to error message about acceptable characters in tags diff --git src/lib/gff3.c src/lib/gff3.c index fd6187b..3a10491 100644 --- src/lib/gff3.c +++ src/lib/gff3.c @@ -340,31 +340,31 @@ } } /* check that an attribute tag name is valid. */ static boolean checkAttrTag(struct gff3Ann *g3a, char *tag) { // FIXME: spec is not clear on what is a valid tag. char *tc = tag; boolean isOk = isalpha(*tc); for (tc++; isOk && (*tc != '\0'); tc++) { if (!((*tc == '-') || (*tc == '_') || isalnum(*tc))) isOk = FALSE; } if (!isOk) - gff3AnnErr(g3a, "invalid attribute tag, must start with an alphabetic character and be composed of alphanumeric or underscore characters: %s", tag); + gff3AnnErr(g3a, "invalid attribute tag, must start with an alphabetic character and be composed of alphanumeric, dash, or underscore characters: %s", tag); return isOk; } static struct slName *parseAttrVals(struct gff3Ann *g3a, char *tag, char *valsStr) /* parse an attribute into its values */ { int i, numVals = chopString(valsStr, ",", NULL, 0); char **vals = needMem((numVals+1)*sizeof(char**)); // +1 allows for no values chopString(valsStr, ",", vals, numVals); struct slName *unescVals = NULL; for (i = 0; i < numVals; i++) slAddHead(&unescVals, unescapeSlName(g3a, vals[i])); if (unescVals == NULL) slAddHead(&unescVals, slNameNew("")); // empty value freeMem(vals);