13598ccea89fe2434ea2be5aa8b9077619ceabe4 braney Sat Feb 4 08:44:35 2017 -0800 fix some problems with big* labels diff --git src/hg/hgTracks/bedTrack.c src/hg/hgTracks/bedTrack.c index 27c3256..a1a536a 100644 --- src/hg/hgTracks/bedTrack.c +++ src/hg/hgTracks/bedTrack.c @@ -53,35 +53,39 @@ struct slName *thisLabel, *labelIds = slNameListFromComma(labelFields); // fill hash with fields that should be used for labels if (labelEl == NULL) hashAdd(labelHash, labelIds->name, "1"); else { for(; labelEl; labelEl = labelEl->next) hashAdd(labelHash, &labelEl->name[strlen(cartVar) + 1], labelEl->val); } struct asObject *as = asForDb(track->tdb, database); for(thisLabel = labelIds; thisLabel; thisLabel = thisLabel->next) { - char *str = hashFindVal(labelHash,thisLabel->name); + char *trimLabel = trimSpaces(thisLabel->name); + char *str = hashFindVal(labelHash, trimLabel); if ((str != NULL) && sameString(str, "1")) { - unsigned colNum = asColumnFindIx(as->columnList, thisLabel->name); + unsigned colNum = asColumnFindIx(as->columnList, trimLabel); + if (colNum == -1) + errAbort("cannot find field named '%s' in as file '%s'", + trimLabel, as->name); // put this column number in the list of columns to use to make label slAddHead(&track->labelColumns, slIntNew(colNum)); } } slReverse(&track->labelColumns); } } void loadSimpleBed(struct track *tg) /* Load the items in one track - just move beds in * window... */ { struct bed *(*loader)(char **row); struct bed *bed, *list = NULL;