*
* vim: ts=4
*
- * This program is free 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 open source software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 3.
*
* 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 "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;
static void *stack_frames[50];
static size_t size, NThread;
static char **strings;
-static char StaticBuf[SIZ];
/*
* Private structures for our thread list
va_start(ap, format);
- if (enable_syslog)
- {
- snprintf (StaticBuf, SIZ, format, ap);
- syslog( LOG_CRIT|LOG_NDELAY|LOG_MAIL, StaticBuf);
- }
- else
- CtdlLogPrintf(CTDL_EMERG, format, ap);
-
+ vsyslog(LOG_CRIT|LOG_NDELAY|LOG_MAIL, format, ap);
} // outputPrintf
{
size = backtrace(stack_frames, sizeof(stack_frames) / sizeof(void*));
- if (enable_syslog)
- for (NThread = 0; NThread < size; NThread++)
- {
- snprintf (StaticBuf, SIZ, "RAW: %p ", stack_frames[NThread]);
- syslog( LOG_CRIT|LOG_NDELAY|LOG_MAIL, StaticBuf);
- }
- else
- for (NThread = 0; NThread < size; NThread++)
- CtdlLogPrintf(CTDL_ALERT, "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 (StaticBuf, SIZ, "RAW: %p ", strings[NThread]);
- syslog( LOG_CRIT|LOG_NDELAY|LOG_MAIL, StaticBuf);
- }
- else
- CtdlLogPrintf(CTDL_ALERT, "%s\n", strings[NThread]);
+ syslog(LOG_CRIT|LOG_NDELAY|LOG_MAIL, "RAW: %p ", strings[NThread]);
}
}
} /* createGlobalBacktrace */
{
size = backtrace(stack_frames, sizeof(stack_frames) / sizeof(void*));
- if (enable_syslog)
- for (NThread = 0; NThread < size; NThread++)
- {
- snprintf (StaticBuf, SIZ, "RAW: %p ", stack_frames[NThread]);
- syslog( LOG_CRIT|LOG_NDELAY|LOG_MAIL, StaticBuf);
- }
- else
- for (NThread = 0; NThread < size; NThread++)
- CtdlLogPrintf(CTDL_ALERT, "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 */
/*!
DPRINTF(ECRASH_DEBUG_VERY_VERBOSE,"Init Starting params = %p\n", params);
+ if (params == NULL) return -1;
// Allocate our backtrace area
gbl_backtraceBuffer = malloc(sizeof(void *) * (params->maxStackDepth+5));