0999158088e0fb3715eb27703c8c4f7123d77144
galt
  Mon Sep 21 16:51:20 2015 -0700
added GNU-C attributes to function declarations in src/inc, src/hg/inc, and some CGIs so that the compiler can catch errors where the parameter list given by the user does not match their format string. These var-args functions are like printf.

diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index ca94b6b..14e707f 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -2663,31 +2663,31 @@
     for (;dIx < defaultCount;dIx++)
         checkedDefaults[dIx] = tagEncode(checkedDefaults[dIx]); // encode these before compare!
     }                                                      // Will leak, but this is a tiny amount
 for (mIx=0;mIx<members->count;mIx++)
     {
     safef(settingName, sizeof(settingName), "%s.mat_%s_dim%c_cb",
           parentTdb->track,members->tags[mIx],letter);
     members->selected[mIx] = TRUE;
     if (defaultCount > 0)
         members->selected[mIx] =
                 (-1 != stringArrayIx(members->tags[mIx],checkedDefaults,defaultCount));
     members->selected[mIx] = cartUsualBoolean(cart,settingName,members->selected[mIx]);
     if (members->selected[mIx])
         {
         if (currentlyCheckedTags == NULL)
-            currentlyCheckedTags = dyStringCreate(members->tags[mIx]);
+            currentlyCheckedTags = dyStringCreate("%s",members->tags[mIx]);
         else
             dyStringPrintf(currentlyCheckedTags,",%s",members->tags[mIx]);
         }
     }
 if (currentlyCheckedTags)
     return dyStringCannibalize(&currentlyCheckedTags);
 return NULL;
 }
 
 static membersForAll_t *membersForAllSubGroupsWeedOutEmpties(struct trackDb *parentTdb,
                                                 membersForAll_t *membersForAll, struct cart *cart)
 // Weed through members, tossing those without subtracks
 {
 // View is always first
 if (membersForAll->members[dimV] != NULL)