src/hg/pslCheck/pslCheck.c 1.13

1.13 2009/07/10 17:48:36 markd
fixed segv when file doesn't exists and no database was supplied
Index: src/hg/pslCheck/pslCheck.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/pslCheck/pslCheck.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -b -B -U 4 -r1.12 -r1.13
--- src/hg/pslCheck/pslCheck.c	11 Mar 2008 21:56:27 -0000	1.12
+++ src/hg/pslCheck/pslCheck.c	10 Jul 2009 17:48:36 -0000	1.13
@@ -210,24 +210,31 @@
     }
 sqlFreeResult(&sr);
 }
 
+void checkFileTbl(struct sqlConnection *conn, char *fileTblName,
+                  FILE *errFh, FILE *passFh, FILE *failFh)
+/* check a PSL file or table. */
+{
+if (fileExists(fileTblName))
+    checkPslFile(fileTblName, errFh, passFh, failFh);
+else if (conn == NULL)
+    errAbort("file %s does not exist and no database specified", fileTblName);
+else
+    checkPslTbl(conn, fileTblName, errFh, passFh, failFh);
+}
+
 void checkFilesTbls(struct sqlConnection *conn,
                     int fileTblCount, char *fileTblNames[])
-/* checkPsl file or tables. */
+/* check PSL files or tables. */
 {
 int i;
 FILE *errFh = quiet ? mustOpen("/dev/null", "w") : stderr;
 FILE *passFh = passFile ? mustOpen(passFile, "w") : NULL;
 FILE *failFh = failFile ? mustOpen(failFile, "w") : NULL;
 
 for (i = 0; i< fileTblCount; i++)
-    {
-    if (fileExists(fileTblNames[i]))
-        checkPslFile(fileTblNames[i], errFh, passFh, failFh);
-    else
-        checkPslTbl(conn, fileTblNames[i], errFh, passFh, failFh);
-    }
+    checkFileTbl(conn, fileTblNames[i], errFh, passFh, failFh);
 carefulClose(&passFh);
 carefulClose(&failFh);
 }