src/hg/lib/hgFind.c 1.221

1.221 2009/07/10 01:40:37 markd
moved stackDump stuff to hCommon; added function for user errAbort
Index: src/hg/lib/hgFind.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/hgFind.c,v
retrieving revision 1.220
retrieving revision 1.221
diff -b -B -U 4 -r1.220 -r1.221
--- src/hg/lib/hgFind.c	9 Jul 2009 00:06:02 -0000	1.220
+++ src/hg/lib/hgFind.c	10 Jul 2009 01:40:37 -0000	1.221
@@ -10,8 +10,9 @@
 #include "htmshell.h"
 #include "web.h"
 #include "jksql.h"
 #include "hdb.h"
+#include "hui.h"
 #include "psl.h"
 #include "genePred.h"
 #include "genePredReader.h"
 #include "bed.h"
@@ -42,25 +43,8 @@
 static char *mrnaTables[] = { "all_mrna", "xenoMrna", NULL };
 static char *mrnaLabels[] = { "mRNAs", "Other mRNAs", NULL };
 static struct dyString *hgpMatchNames = NULL;
 
-void hgFindErr(char *format, ...)
-/* generate an find error, disabling logging stack dumps. */
-#if defined(__GNUC__)
-__attribute__((format(printf, 1, 2)))
-#endif
-;
-
-void hgFindErr(char *format, ...)
-/* generate an find error, disabling logging stack dumps. */
-{
-webDumpStackDisallow();
-va_list args;
-va_start(args, format);
-vaErrAbort(format, args);
-va_end(args);
-}
-
 static void hgPosFree(struct hgPos **pEl)
 /* Free up hgPos. */
 {
 struct hgPos *el;
@@ -967,9 +951,9 @@
 	break;
 	}
     }
 if (chrStart == NULL)
-    hgFindErr("Couldn't find chromosome %s in band list", chromosome);
+    hUserAbort("Couldn't find chromosome %s in band list", chromosome);
 
 /* Find last band in chromosome. */
 for (cb = chrStart->next; cb != NULL; cb = cb->next)
     {
@@ -1035,9 +1019,9 @@
 	return;
 	}
     s = strrchr(choppedBand, '.');
     if (s == NULL)
-	hgFindErr("Couldn't find anything like band '%s'", band);
+	hUserAbort("Couldn't find anything like band '%s'", band);
     else
 	{
 	e = choppedBand + strlen(choppedBand) - 1;
 	*e = 0;
@@ -2524,18 +2508,18 @@
 	{
 	hgPositionsFree(&hgp);
 	warn("Sorry, couldn't locate %s in genome database\n", htmlEncode(terms[i]));
 	if (multiTerm)
-	    hgFindErr("%s not uniquely determined -- "
+	    hUserAbort("%s not uniquely determined -- "
 		     "can't do multi-position search.", terms[i]);
 	*retWinStart = 0;
 	return NULL;
 	}
     
     if ((hgp->singlePos != NULL) && (!showAlias || !hgp->useAlias))
 	{
 	if (chrom != NULL && !sameString(chrom, hgp->singlePos->chrom))
-	    hgFindErr("Sites occur on different chromosomes: %s, %s.",
+	    hUserAbort("Sites occur on different chromosomes: %s, %s.",
 		     chrom, hgp->singlePos->chrom);
 	chrom = hgp->singlePos->chrom;
 	if (hgp->singlePos->chromStart < start)
 	    start = hgp->singlePos->chromStart;
@@ -2545,9 +2529,9 @@
     else
 	{
 	hgPositionsHtml(db, hgp, stdout, useWeb, hgAppName, cart);
 	if (multiTerm && hgp->posCount != 1)
-	    hgFindErr("%s not uniquely determined (%d locations) -- "
+	    hUserAbort("%s not uniquely determined (%d locations) -- "
 		     "can't do multi-position search.",
 		     terms[i], hgp->posCount);
 	*retWinStart = hgp->posCount;
 	hgp = NULL;
@@ -2599,9 +2583,9 @@
 static void noRelative(boolean relativeFlag, int relStart, int relEnd,
 		       char *table)
 {
 if (relativeFlag)
-    hgFindErr("Sorry, range spec (\":%d-%d\") is not supported for %s.",
+    hUserAbort("Sorry, range spec (\":%d-%d\") is not supported for %s.",
 	     relStart+1, relEnd, table);
 
 }
 #endif
@@ -2930,9 +2914,9 @@
         sameString("chr23", *term) || startsWith("chr23:", *term))
         {
         *term = hDefaultPos(hgp->database);
         if (endsWith(hgAppName, "hgTables"))
-            hgFindErr(msg);
+            hUserAbort(msg);
         else
             warn(msg);
         return TRUE;
         }