1ff2e18ba5e50dd2d1becd3cd6a25343578c10b8
markd
  Tue Apr 21 14:09:04 2026 -0700
rework of htslib/UDC integration to use htslib hfile driver mechanism

diff --git src/hg/hgTracks/bamTrack.c src/hg/hgTracks/bamTrack.c
index cb0bf59e161..d4dd4e2e4dd 100644
--- src/hg/hgTracks/bamTrack.c
+++ src/hg/hgTracks/bamTrack.c
@@ -586,30 +586,35 @@
 	    slSort(&(tg->items), linkedFeaturesCmpScore);
 	else
 	    slSort(&(tg->items), linkedFeaturesCmpStart);
 	if (slCount(tg->items) > MAX_ITEMS_FOR_MAPBOX)
 	    {
 	    // flag drawItems to make a mapBox for the whole track
 	    tg->customInt = 1;
 	    tg->mapItem = dontMapItem;
 	    }
 	}
     }
 errCatchEnd(errCatch);
 if (errCatch->gotError)
     {
     tg->items = NULL;
+    char *msg = (errCatch->message != NULL && errCatch->message->string != NULL)
+                    ? errCatch->message->string : NULL;
+    if (isNotEmpty(msg))
+        tg->networkErrMsg = cloneString(msg);
+    else
         tg->networkErrMsg = cloneString("Too many items in display (zoom in)");
     tg->drawItems = bigDrawWarning;
     tg->totalHeight = bigWarnTotalHeight;
     }
 errCatchFree(&errCatch);
 }
 
 
 void bamLoadItems(struct track *tg)
 /* Load single-ended-only BAM data into tg->items item list, unless zoomed out so far
  * that the data would just end up in dense mode and be super-slow. */
 {
 bamLoadItemsCore(tg, FALSE);
 }