15290acda21d8a883abfadbea853913a5740d45d
jcasper
  Fri Oct 23 11:36:47 2015 -0700
Fixed logic bug with oreganno filters, also made case-insensitive, refs #16257, #15957

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 0811269..9b6e316 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -1689,34 +1689,34 @@
 char query[256];
 struct sqlConnection *conn = hAllocConn(database);
 
 sqlSafef(query, sizeof(query), "select * from oregannoAttr where id = '%s' and attribute = 'type'", el->id);
 attr = oregannoAttrLoadByQuery(conn, query);
 hFreeConn(&conn);
 if (attr == NULL)
     {
     AllocVar(attr);
     attr->attrVal = cloneString("NULL");
     attr->id = NULL; /* so free will work */
     attr->attribute = NULL;
     }
 for (cnt = 0; cnt < oregannoTypeSize; cnt++)
     {
-    if (!cartVarExists(cart, oregannoTypeString[cnt])
+    if ((!cartVarExists(cart, oregannoTypeString[cnt])
     ||  (cartString(cart, oregannoTypeString[cnt]) != NULL
-        && differentString(cartString(cart, oregannoTypeString[cnt]), "0")
-        && sameString(oregannoTypeDbValue[cnt], attr->attrVal)))
+        && differentString(cartString(cart, oregannoTypeString[cnt]), "0")))
+        && (cmpWordsWithEmbeddedNumbers(oregannoTypeDbValue[cnt], attr->attrVal))==0)
         {
         oregannoAttrFree(&attr);
         return TRUE; /* include this type */
         }
     }
 oregannoAttrFree(&attr);
 return FALSE;
 }
 
 void loadOreganno (struct track *tg)
 /* loads the oreganno track */
 {
 struct oreganno *list = NULL;
 struct sqlConnection *conn = hAllocConn(database);
 struct sqlResult *sr;