7304ed04d31a495ff186f6c4a1c310080b680c93
braney
  Thu Dec 15 10:15:39 2022 -0800
increase the number of possible highlights to 4096

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 9953455..eb42a4b 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -2162,31 +2162,31 @@
 };
 
 struct highlightVar *parseHighlightInfo()
 // Parse highlight info from cart var to a linked list of highlightVar structs
 // Accepts four input formats for the highlight variable:
 // 0) chrom:start-end (format in very old carts)
 // 1) db.chrom:start-end (format in very old carts)
 // 2) db.chrom:start-end#hexColor|db.chrom:start-end#hexColor|... (old format)
 // 3) db#chrom#start#end#hexColor|db#chrom#start#end#hexColor|... (current format, to allow . in seq names)
 //
 {
 struct highlightVar *hlList = NULL;
 char *highlightDef = cartOptionalString(cart, "highlight");
 if(highlightDef)
     {
-    char *hlArr[256];
+    char *hlArr[4096];
     int hlCount = chopByChar(cloneString(highlightDef), '|', hlArr, ArraySize(hlArr));
     int i;
     for (i=0; i<hlCount; i++)
         {
         char *oneHl = hlArr[i];
         struct highlightVar *h;
         char *chromStart, *chromEnd;
         AllocVar(h);
         if (countSeparatedItems(oneHl, '#')==5)
             // the new format: db#chrom#start#end#color
             {
             h->db     = cloneNextWordByDelimiter(&oneHl,'#');
             h->chrom  = cloneNextWordByDelimiter(&oneHl,'#');
             chromStart = cloneNextWordByDelimiter(&oneHl,'#');
             chromEnd = cloneNextWordByDelimiter(&oneHl,'#');