Found some more instances of the phrase 'free software' and changed them to 'open...
[citadel.git] / citadel / ecrash.c
index 4663046522e2f3eb80f283d843a0cf1fd659f3ff..efe071ca5021a7759dabc59355833c76c0204345 100644 (file)
@@ -1,18 +1,32 @@
 /*
- * File: eCrash.c
- * @author David Frascone
+ * author: David Frascone
  * 
- *  eCrash Implementation
+ * eCrash Implementation
  *
- *  eCrash will allow you to capture stack traces in the
- *  event of a crash, and write those traces to disk, stdout,
- *  or any other file handle.
+ * eCrash will allow you to capture stack traces in the
+ * event of a crash, and write those traces to disk, stdout,
+ * or any other file handle.
  *
- *  modified to integrate closer into citadel by Wilfried Goesgens
+ * modified to integrate closer into citadel by Wilfried Goesgens
  *
  * vim: ts=4
+ *
+ * This program is open source software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "sysdep.h"
 #include <stdio.h>
 #include <unistd.h>
 #include <stdlib.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <pthread.h>
+#include <libcitadel.h>
+#include "server.h"
 #include "sysdep_decls.h"
+#include "support.h"
+#include "config.h"
+#include "citserver.h"
 #include "ecrash.h"
 
-#define NIY()  printf("%s: Not Implemented Yet!\n", __FUNCTION__)
+#define NIY()  printf("function not implemented yet!\n");
 #ifdef HAVE_BACKTRACE
 #include <execinfo.h>
 static eCrashParameters gbl_params;
@@ -39,7 +58,6 @@ static int    gbl_backtraceDoneFlag = 0;
 static void *stack_frames[50];
 static size_t size, NThread;
 static char **strings;
-static char StrBuf[SIZ];
 
 /* 
  * Private structures for our thread list
@@ -166,14 +184,7 @@ static void outputPrintf(char *format, ...)
 
        va_start(ap, format);
 
-       if (enable_syslog)
-       {
-               snprintf (StrBuf, SIZ, format, ap);
-               syslog( LOG_CRIT|LOG_NDELAY|LOG_MAIL, StrBuf);
-       }
-       else
-               CtdlLogPrintf(CTDL_EMERG, format, ap);
-
+       vsyslog(LOG_CRIT|LOG_NDELAY|LOG_MAIL, format, ap);
 } // outputPrintf
 
 
@@ -189,25 +200,14 @@ static void createGlobalBacktrace( void )
 {
 
        size = backtrace(stack_frames, sizeof(stack_frames) / sizeof(void*));
-       if (enable_syslog)
-               for (NThread = 0; NThread < size; NThread++) 
-               {
-                       snprintf (StrBuf, SIZ, "RAW: %p  ", stack_frames[NThread]);
-                       syslog( LOG_CRIT|LOG_NDELAY|LOG_MAIL, StrBuf);
-               }
-       else 
-               for (NThread = 0; NThread < size; NThread++) 
-                       CtdlLogPrintf(1, "RAW: %p\n", stack_frames[NThread]);
+       for (NThread = 0; NThread < size; NThread++) 
+       {
+               syslog(LOG_CRIT|LOG_NDELAY|LOG_MAIL, "RAW: %p  ", stack_frames[NThread]);
+       }
        strings = backtrace_symbols(stack_frames, size);
        for (NThread = 0; NThread < size; NThread++) {
                if (strings != NULL) {
-                       if (enable_syslog)
-                       {// vsyslogs printf compliance sucks.
-                               snprintf (StrBuf, SIZ, "RAW: %p  ", strings[NThread]);
-                               syslog( LOG_CRIT|LOG_NDELAY|LOG_MAIL, StrBuf);
-                       }
-                       else
-                               CtdlLogPrintf(1, "%s\n", strings[NThread]);
+                       syslog(LOG_CRIT|LOG_NDELAY|LOG_MAIL, "RAW: %p  ", strings[NThread]);
                }
        }
 } /* createGlobalBacktrace */
@@ -215,15 +215,10 @@ static void outputRawtrace( void )
 {
 
        size = backtrace(stack_frames, sizeof(stack_frames) / sizeof(void*));
-       if (enable_syslog)
-               for (NThread = 0; NThread < size; NThread++) 
-               {
-                       snprintf (StrBuf, SIZ, "RAW: %p  ", stack_frames[NThread]);
-                       syslog( LOG_CRIT|LOG_NDELAY|LOG_MAIL, StrBuf);
-               }
-       else 
-               for (NThread = 0; NThread < size; NThread++) 
-                       CtdlLogPrintf(1, "RAW: %p\n", stack_frames[NThread]);
+       for (NThread = 0; NThread < size; NThread++) 
+       {
+               syslog(LOG_CRIT|LOG_NDELAY|LOG_MAIL, "RAW: %p  ", stack_frames[NThread]);
+       }
 } /* createGlobalBacktrace */
 
 /*!