98d595118a466c5ef78850d88a2e41f06049d548 galt Wed Nov 19 14:21:02 2025 -0800 Max prefers to have one shared copy of the routine. This changes does not affect functionality, just moves the routine into the trackDb.c lib file. Feedback from Max code review. refs #28113 diff --git src/hg/utils/hubCheck/hubCheck.c src/hg/utils/hubCheck/hubCheck.c index 34216946acd..9ac7eebd5a6 100644 --- src/hg/utils/hubCheck/hubCheck.c +++ src/hg/utils/hubCheck/hubCheck.c @@ -407,103 +407,51 @@ slNameAddHead(&options->suggest, hel->name); } slNameSort(&options->suggest); verbose(3, "Suggest list has %d settings\n", slCount(options->suggest)); } errCatchEnd(errCatch); if (errCatch->gotError) { retVal = 1; dyStringPrintf(errors, "%s", errCatch->message->string); } errCatchFree(&errCatch); return retVal; } -static boolean isComplex(char *name) -/* Check to see if this is one of the filter variables that have arbitrary initial strings. - * This routine copied from tdbQuery. */ -{ -if (startsWith("yAxisLabel.", name)) - return TRUE; -if (startsWith("filter.", name)) - return TRUE; -if (startsWith("filterValues.", name)) - return TRUE; -if (startsWith("filterValuesDefault.", name)) - return TRUE; -if (startsWith("filterType.", name)) - return TRUE; -if (startsWith("filterLimits.", name)) - return TRUE; -if (startsWith("filterLabel.", name)) - return TRUE; -if (startsWith("filterByRange.", name)) - return TRUE; -if (startsWith("filterText.", name)) - return TRUE; -if (endsWith(name, "Filter")) - return TRUE; -if (endsWith(name, "FilterValues")) - return TRUE; -if (endsWith(name, "FilterType")) - return TRUE; -if (endsWith(name, "FilterLimits")) - return TRUE; -if (endsWith(name, "FilterText")) - return TRUE; -if (startsWith("highlight.", name)) - return TRUE; -if (startsWith("highlightValues.", name)) - return TRUE; -if (startsWith("highlightValuesDefault.", name)) - return TRUE; -if (startsWith("highlightType.", name)) - return TRUE; -if (startsWith("highlightLimits.", name)) - return TRUE; -if (startsWith("highlightLabel.", name)) - return TRUE; -if (startsWith("highlightByRange.", name)) - return TRUE; -if (startsWith("highlightText.", name)) - return TRUE; -return FALSE; -} - - int hubCheckTrackSetting(struct trackHub *hub, struct trackDb *tdb, char *setting, struct trackHubCheckOptions *options, struct dyString *errors) /* Check trackDb setting to spec (by version and level). Returns non-zero if error, msg in errors */ { int retVal = 0; verbose(4, " Check setting '%s'\n", setting); /* skip internally added/used settings */ if (sameString(setting, "polished") || sameString(setting, "group")) return 0; /* check setting is in extra file of supported settings */ if (options->extra && hashLookup(options->extra, setting)) return 0; /* check setting is supported in this version */ struct trackHubSettingSpec *hubSetting = hashFindVal(options->settings, setting); -boolean isComplexSetting = isComplex(setting); -if (isComplexSetting) +boolean hasComplexSetting = isComplexSetting(setting); +if (hasComplexSetting) { verbose(5, "skipping validation for complex setting=%s.", setting); return 1; } if (hubSetting == NULL) { dyStringPrintf(errors, "Setting '%s' is unknown/unsupported", setting); char *suggest = suggestSetting(setting, options); if (suggest != NULL) dyStringPrintf(errors, " (did you mean '%s' ?)", suggest); dyStringPrintf(errors, "\n"); retVal = 1; } else if (sameString(hubSetting->level, "deprecated"))