1b99bc125d897c0712377c4fb4d23ff9f6cbca9f angie Fri Feb 25 11:43:27 2011 -0800 New src/inc/regexHelper.h module replaces the regex conveniencefunctions that were previously down in hg/lib/hgFindSpecCustom.c. The primary motivation for this is so I can use regex functions in the new src/lib/vcf.c for Feature #2821 (VCF parser), but I hope this will make it easier in general to use regexes in any new code. diff --git src/hg/hgTracks/imageV2.c src/hg/hgTracks/imageV2.c index c4e8612..02e20de 100644 --- src/hg/hgTracks/imageV2.c +++ src/hg/hgTracks/imageV2.c @@ -1,28 +1,28 @@ /* imageV2 - API for creating the image V2 features. */ #include "common.h" #include "hPrint.h" #include "chromInfo.h" #include "hdb.h" #include "hui.h" #include "jsHelper.h" #include "cheapcgi.h" #include "htmshell.h" #include "imageV2.h" #include "hgTracks.h" #include "hgConfig.h" -#include "hgFindSpec.h" +#include "regexHelper.h" static char const rcsid[] = "$Id: imageV2.c,v 1.32 2010/05/24 19:53:42 hiram Exp $"; struct imgBox *theImgBox = NULL; // Make this global for now to avoid huge rewrite //struct image *theOneImg = NULL; // Make this global for now to avoid huge rewrite struct imgTrack *curImgTrack = NULL; // Make this global for now to avoid huge rewrite //struct imgSlice *curSlice = NULL; // Make this global for now to avoid huge rewrite //struct mapSet *curMap = NULL; // Make this global for now to avoid huge rewrite //struct mapItem *curMapItem = NULL; // Make this global for now to avoid huge rewrite ///////////////////////// // FLAT TRACKS // A simplistic way of flattening the track list before building the image // NOTE: Strategy is NOT to use imgBox->imgTracks, since this should be independednt of imageV2 ///////////////////////// @@ -277,31 +277,31 @@ dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"parentTrack\": \"%s\",\n\t\t\"parentLabel\": \"%s\",", parentTdb->track, javaScriptLiteralEncode(parentTdb->shortLabel)); if (kindOfChild != kocFolderContent && !track->canPack) { dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"shouldPack\": 0,"); // default vis is full, but pack is an option track->canPack = parentTdb->canPack; } } dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"hasChildren\": %d,", slCount(track->tdb->subtracks)); // Configuring? if (!configurable || track->hasUi == FALSE) dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"configureBy\": \"none\","); else if (sameString(trackDbSettingClosestToHomeOrDefault(track->tdb, "configureByPopup", - matchRegex(track->track, "^snp[0-9]+") || matchRegex(track->track, "^cons[0-9]+way") || matchRegex(track->track, "^multiz") ? "off" : "on"), "off")) + regexMatch(track->track, "^snp[0-9]+") || regexMatch(track->track, "^cons[0-9]+way") || regexMatch(track->track, "^multiz") ? "off" : "on"), "off")) dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"configureBy\": \"clickThrough\","); else dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"configureBy\": \"popup\","); // Remote access by URL? if (sameWord(track->tdb->type, "remote") && trackDbSetting(track->tdb, "url") != NULL) dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"url\": \"%s\",", trackDbSetting(track->tdb, "url")); // Close with some standard vars dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"shortLabel\": \"%s\",\n\t\t\"longLabel\": \"%s\",\n\t\t\"canPack\": %d,", javaScriptLiteralEncode(track->shortLabel), javaScriptLiteralEncode(track->longLabel), track->canPack); if(track->limitedVis != track->visibility) dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"limitedVis\": %d,", track->limitedVis); dyStringPrintf(*jsonTdbSettingsString, "\n\t\t\"visibility\": %d\n\t}", track->visibility); }