ba63ca047c08a7a20146f2c3216aa3330ece39b2 max Thu Dec 18 06:26:04 2014 -0800 changes after code review, refs #14545 diff --git src/hg/hgTracks/bedTrack.c src/hg/hgTracks/bedTrack.c index fcdd4ae..5b6c92d 100644 --- src/hg/hgTracks/bedTrack.c +++ src/hg/hgTracks/bedTrack.c @@ -580,51 +580,38 @@ } char *bedName(struct track *tg, void *item) /* Return name of bed track item. */ { struct bed *bed = item; if (bed->name == NULL) return ""; return bed->name; } char *bedNameField1(struct track *tg, void *item) /* return part before first space in item name */ { struct bed *bed = item; -if (bed->name==NULL) - return ""; -char *nonSpc = stringIn(" ", bed->name); -if (nonSpc==NULL) - return bed->name; -int part1Len = nonSpc - bed->name; -char *newName = cloneStringZ(bed->name, part1Len); -return newName; +return cloneFirstWord(bed->name); } -char *bedNameField2(struct track *tg, void *item) +char *bedNameNotField1(struct track *tg, void *item) /* return part after first space in item name */ { struct bed *bed = item; -if (bed->name==NULL) - return ""; - -char* spcPos = stringIn(" ", bed->name); -if (spcPos==NULL) - return bed->name; -return cloneString(spcPos+1); +return cloneNotFirstWord(bed->name); } int bedItemStart(struct track *tg, void *item) /* Return start position of item. */ { struct bed *bed = item; return bed->chromStart; } int bedItemEnd(struct track *tg, void *item) /* Return end position of item. */ { struct bed *bed = item; return bed->chromEnd; } @@ -675,31 +662,31 @@ tg->mapItemName = bedName; tg->totalHeight = tgFixedTotalHeightNoOverflow; tg->itemHeight = tgFixedItemHeight; tg->itemStart = bedItemStart; tg->itemEnd = bedItemEnd; // Adding "tg->nextPrevExon = simpleBedNextPrevEdge;" opened a can of worms: too many // bed-based tracks have their own drawItems methods that don't hook into nextItem stuff, // or drawItemAt methods that draw mapboxes but tg->mapsSelf is not set... // So, set tg->nextPrevExon = simpleBedNextPrevEdge case-by-case. tg->nextPrevItem = linkedFeaturesLabelNextPrevItem; tg->freeItems = freeSimpleBed; if (trackDbSettingClosestToHomeOn(tg->tdb, "linkIdInName")) { tg->mapItemName = bedNameField1; - tg->itemName = bedNameField2; + tg->itemName = bedNameNotField1; } } void bed9Methods(struct track *tg) /* Fill in methods for bed9 tracks. */ { linkedFeaturesMethods(tg); tg->loadItems = loadBed9; } void addSimpleFeatures(struct simpleFeature **pSfList, int start, int end, int qStart, boolean everyBase) /* Add simple features from start to end to the list. * qStart is the offset in the query. * If everyBase is TRUE then add a simpleFeature for every base in the start,end region */