2a1c7786e6c5a0d56d3499efe713f722bb78abfb max Mon Sep 4 12:18:02 2023 -0700 fixing word break bug on bigBed extra tables, refs #29652 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 0ef8629..f3ce517 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -1444,31 +1444,31 @@ return idNames; } void printIdOrLinks(struct asColumn *col, struct hash *fieldToUrl, struct trackDb *tdb, char *idList) /* if trackDb does not contain a "urls" entry for current column name, just print idList as it is. * Otherwise treat idList as a comma-sep list of IDs and print one row per id, with a link to url, * ($$ in url is OK, wildcards like $P, $p, are also OK) * */ { // try to find a fieldName=url setting in the "urls" tdb statement, print id if not found char *url = NULL; if (fieldToUrl != NULL) url = (char*)hashFindVal(fieldToUrl, col->name); if (url == NULL) { - printf("<td>%s</td></tr>\n", idList); + printf("<td class='bedExtraTblVal'>%s</td></tr>\n", idList); return; } // split the id into parts and print each part as a link struct slName *slIds = slNameListFromComma(idList); struct slName *itemId = NULL; // handle id->name mapping for multi-source items int nameCount; char **idNames = getIdNameMap(tdb, col, &nameCount); printf("<td>"); for (itemId = slIds; itemId!=NULL; itemId = itemId->next) { if (itemId != slIds) @@ -1913,31 +1913,31 @@ entry = col->comment; printFieldLabel(entry); if (col->isList || col->isArray || col->lowType->stringy || asTypesIsInt(col->lowType->type)) printIdOrLinks(col, fieldToUrl, tdb, fields[ix]); else if (asTypesIsFloating(col->lowType->type)) { double valDouble = strtod(fields[ix],NULL); if (errno == 0 && valDouble != 0) printf("<td>%g</td></tr>\n", valDouble); else printf("<td>%s</td></tr>\n", fields[ix]); // decided not to print error } else - printf("<td>%s</td></tr>\n", fields[ix]); + printf("<td class='bedExtraTblVal'>%s</td></tr>\n", fields[ix]); printCount++; } if (skipIds) slFreeList(skipIds); if (sepFields) slFreeList(sepFields); if (embeddedTblFields) { printf("<br><table class='bedExtraTbl'>\n"); printf("</table>\n"); struct embeddedTbl *thisTbl; struct dyString *tableLabelsDy = dyStringNew(0); for (thisTbl = embeddedTblList; thisTbl != NULL; thisTbl = thisTbl->next)