8fb4027093f1cbffe03926a69f2022e92aa31f56
tdreszer
  Tue Nov 16 17:05:34 2010 -0800
Fix a couple of places broken by the use of [] as a placeholder for empty in an old cart var
diff --git src/hg/lib/web.c src/hg/lib/web.c
index 4aaa60f..8dc9f87 100644
--- src/hg/lib/web.c
+++ src/hg/lib/web.c
@@ -1043,33 +1043,33 @@
 	{
 	*retDb = hDefaultDb();
 	*retGenome = hGenome(*retDb);
         }
     }
 *retDb = cloneString(*retDb);
 *retGenome = cloneString(*retGenome);
 *retClade = hClade(*retGenome);
 
 /* Detect change of database and reset db-specific cart variables: */
 if (oldVars)
     {
     char *oldDb = hashFindVal(oldVars, "db");
     char *oldOrg = hashFindVal(oldVars, "org");
     char *oldClade = hashFindVal(oldVars, "clade");
-    if ((oldDb    && differentWord(oldDb, *retDb)) ||
-	(oldOrg   && differentWord(oldOrg, *retGenome)) ||
-	(oldClade && differentWord(oldClade, *retClade)))
+    if ((!IS_CART_VAR_EMPTY(oldDb)    && differentWord(oldDb, *retDb)) ||
+	(!IS_CART_VAR_EMPTY(oldOrg)   && differentWord(oldOrg, *retGenome)) ||
+	(!IS_CART_VAR_EMPTY(oldClade) && differentWord(oldClade, *retClade)))
 	{
 	/* Change position to default -- unless it was passed in via CGI: */
 	if (cgiOptionalString("position") == NULL)
 	    cartSetString(cart, "position", hDefaultPos(*retDb));
 	/* hgNear search term -- unless it was passed in via CGI: */
 	if (cgiOptionalString("near_search") == NULL)
 	    cartRemove(cart, "near_search");
 	/* hgBlat results (hgUserPsl track): */
 	cartRemove(cart, "ss");
 	/* hgTables correlate: */
 	cartRemove(cart, "hgta_correlateTrack");
 	cartRemove(cart, "hgta_correlateTable");
 	cartRemove(cart, "hgta_correlateGroup");
 	cartRemove(cart, "hgta_correlateOp");
 	cartRemove(cart, "hgta_nextCorrelateTrack");