-const char errlog_rcs[] = "$Id: errlog.c,v 1.25 2002/01/09 14:32:08 oes Exp $";
+const char errlog_rcs[] = "$Id: errlog.c,v 1.31 2002/03/06 23:02:57 jongfoster Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/errlog.c,v $
*
* Revisions :
* $Log: errlog.c,v $
+ * Revision 1.31 2002/03/06 23:02:57 jongfoster
+ * Removing tabs
+ *
+ * Revision 1.30 2002/03/05 22:43:45 david__schmidt
+ * - Better error reporting on OS/2
+ * - Fix double-slash comment (oops)
+ *
+ * Revision 1.29 2002/03/04 23:45:13 jongfoster
+ * Printing thread ID if using Win32 native threads
+ *
+ * Revision 1.28 2002/03/04 17:59:59 oes
+ * Deleted deletePidFile(), cosmetics
+ *
+ * Revision 1.27 2002/03/04 02:08:01 david__schmidt
+ * Enable web editing of actions file on OS/2 (it had been broken all this time!)
+ *
+ * Revision 1.26 2002/01/09 19:05:45 steudten
+ * Fix big memory leak.
+ *
* Revision 1.25 2002/01/09 14:32:08 oes
* Added support for gmtime_r and localtime_r.
*
#include "errlog.h"
#include "project.h"
+#include "jcc.h"
const char errlog_h_rcs[] = ERRLOG_H_VERSION;
#endif /* defined(_WIN32) && !defined(_WIN_CONSOLE) */
#if defined(unix)
- deletePidFile();
+ unlink(pidfile);
#endif /* unix */
exit(1);
/*********************************************************************
*
- * Function : init_errlog
+ * Function : init_error_log
*
* Description : Initializes the logging module. Must call before
* calling log_error.
{
if( !(fp = fopen(logfname, "a")) )
{
- log_error(LOG_LEVEL_FATAL, "init_errlog(): can't open logfile: %s", logfname);
+ log_error(LOG_LEVEL_FATAL, "init_error_log(): can't open logfile: %s", logfname);
}
/* set logging to be completely unbuffered */
/* FIXME get current thread id */
#ifdef FEATURE_PTHREAD
this_thread = (long)pthread_self();
-#elif __OS2__
-
+#elif defined(_WIN32)
+ this_thread = GetCurrentThreadId();
+#elif defined(__OS2__)
ulrc = DosGetInfoBlocks(&ptib, NULL);
if (ulrc == 0)
this_thread = ptib -> tib_ptib2 -> tib2_ultid;
{
/*
- * Write timestamp into tempbuf.
- *
- * Complex because not all OSs have tm_gmtoff or
- * the %z field in strftime()
- */
+ * Write timestamp into tempbuf.
+ *
+ * Complex because not all OSs have tm_gmtoff or
+ * the %z field in strftime()
+ */
time_t now;
struct tm tm_now;
time (&now);
outc = sprintf(outbuf, "IJB(%ld) Gif-Deanimate: ", this_thread);
break;
case LOG_LEVEL_CLF:
- outbuf = outbuf_save;
+ outbuf = outbuf_save;
outc = 0;
outbuf[0] = '\0';
break;
while ((*src) && (outc < BUFFER_SIZE-2))
{
char tempbuf[BUFFER_SIZE];
- char *sval;
+ char *sval = NULL;
int ival;
unsigned uval;
long lval;
outc += ival;
if (outc < BUFFER_SIZE-1)
{
- memcpy(outbuf + oldoutc, sval, ival);
+ memcpy(outbuf + oldoutc, sval, (size_t) ival);
}
else
{
#ifdef _WIN32
ival = WSAGetLastError();
sval = w32_socket_strerr(ival, tempbuf);
+#elif __OS2__
+ ival = sock_errno();
+ if (ival == 0)
+ ival = errno;
+ sval = strerror(ival);
#else /* ifndef _WIN32 */
ival = errno;
#ifdef HAVE_STRERROR