src/hg/hgGenome/hgGenome.c 1.64

1.64 2009/04/06 05:32:09 galt
add function checkAndClear so that do commands are not stuck in cart after an errAbort
Index: src/hg/hgGenome/hgGenome.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgGenome/hgGenome.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -b -B -U 4 -r1.63 -r1.64
--- src/hg/hgGenome/hgGenome.c	11 Mar 2009 19:24:31 -0000	1.63
+++ src/hg/hgGenome/hgGenome.c	6 Apr 2009 05:32:09 -0000	1.64
@@ -456,49 +456,58 @@
 addPadToBed3(bedList, -pad, pad);
 return bedList;
 }
 
+boolean checkAndClear(char *cartVar)
+/* If cart var exists, clear it and return TRUE */
+{
+if (cartVarExists(cart, cartVar))
+    {
+    cartRemove(cart, cartVar);  /* in case of errAbort */
+    return TRUE;
+    }
+return FALSE;
+}
+
 void dispatchPage()
 /* Look at command variables in cart and figure out which
  * page to draw. */
 {
 struct sqlConnection *conn = hAllocConn(database);
-if (cartVarExists(cart, hggConfigure))
+if (checkAndClear(hggConfigure))
     {
     configurePage();
     }
-else if (cartVarExists(cart, hggConfigureOne))
+else if (checkAndClear(hggConfigureOne))
     {
     configureOnePage();
     }
-else if (cartVarExists(cart, hggUpload))
+else if (checkAndClear(hggUpload))
     {
     uploadPage();
     }
-else if (cartVarExists(cart, hggSubmitUpload))
+else if (checkAndClear(hggSubmitUpload))
     {
     submitUpload(conn);
     }
-else if (cartVarExists(cart, hggImport))
+else if (checkAndClear(hggImport))
     {
     importPage(conn);
     }
-else if (cartVarExists(cart, hggSubmitImport))
+else if (checkAndClear(hggSubmitImport))
     {
     submitImport(conn);
     }
-else if (cartVarExists(cart, hggCorrelate))
+else if (checkAndClear(hggCorrelate))
     {
     correlatePage(conn);
     }
-else if (cartVarExists(cart, hggBrowse))
+else if (checkAndClear(hggBrowse))
     {
-    cartRemove(cart, hggBrowse);  // just in case of errAbort
     browseRegions(conn);
     }
-else if (cartVarExists(cart, hggSort))
+else if (checkAndClear(hggSort))
     {
-    cartRemove(cart, hggSort);  // just in case of errAbort
     sortGenes(conn);
     }
 else
     {