Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / clustalo / src / squid / sqerror.c
diff --git a/website/archive/binaries/mac/src/clustalo/src/squid/sqerror.c b/website/archive/binaries/mac/src/clustalo/src/squid/sqerror.c
new file mode 100644 (file)
index 0000000..2437ada
--- /dev/null
@@ -0,0 +1,98 @@
+/*****************************************************************
+ * SQUID - a library of functions for biological sequence analysis
+ * Copyright (C) 1992-2002 Washington University School of Medicine
+ * 
+ *     This source code is freely distributed under the terms of the
+ *     GNU General Public License. See the files COPYRIGHT and LICENSE
+ *     for details.
+ *****************************************************************/
+
+/* sqerror.c
+ * 
+ * error handling for the squid library
+ * RCS $Id: sqerror.c 217 2011-03-19 10:27:10Z andreas $ (Original squid RCS Id: sqerror.c,v 1.4 1999/07/15 22:28:31 eddy Exp)
+ */
+
+                               /* a global errno equivalent */
+int squid_errno;
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+/* Function: Die()
+ * 
+ * Purpose:  Print an error message and die. The arguments
+ *           are formatted exactly like arguments to printf().
+ *           
+ * Return:   None. Exits the program.
+ */          
+/* VARARGS0 */
+void
+Die(char *format, ...)
+{
+  va_list  argp;
+                               /* format the error mesg */
+  fprintf(stderr, "\nFATAL: ");
+  va_start(argp, format);
+  vfprintf(stderr, format, argp);
+  va_end(argp);
+  fprintf(stderr, "\n");
+  fflush(stderr);
+                               /* exit  */
+  exit(1);
+}
+
+
+
+/* Function: Warn()
+ * 
+ * Purpose:  Print an error message and return. The arguments
+ *           are formatted exactly like arguments to printf().
+ *           
+ * Return:   (void)
+ */          
+/* VARARGS0 */
+void
+#ifdef CLUSTALO
+Warning(char *format, ...)
+#else
+Warn(char *format, ...)
+#endif
+{
+  va_list  argp;
+                               /* format the error mesg */
+  fprintf(stderr, "WARNING: ");
+  va_start(argp, format);
+  vfprintf(stderr, format, argp);
+  va_end(argp);
+  fprintf(stderr, "\n");
+  fflush(stderr);
+}
+
+/* Function: Panic()
+ * 
+ * Purpose:  Die from a lethal error that's not my problem,
+ *           but instead a failure of a StdC/POSIX call that
+ *           shouldn't fail. Call perror() to get the
+ *           errno flag, then die.
+ *           
+ *           Usually called by the PANIC macro which adds
+ *           the __FILE__ and __LINE__ information; see
+ *           structs.h.
+ *           
+ *           Inspired by code in Donald Lewine's book, _POSIX 
+ *           Programmer's Guide_.
+ */
+void
+Panic(char *file, int line)
+{
+  (void) fprintf(stderr, "\nPANIC [%s line %d] ", file, line);
+  (void) perror("Unusual error");
+  exit(EXIT_FAILURE);
+}
+