Index: error.h =================================================================== RCS file: /cvsroot/alcc/alcc/error.h,v retrieving revision 1.9 diff -u -r1.9 error.h --- error.h 15 Jan 2007 03:19:24 -0000 1.9 +++ error.h 5 Jun 2007 21:53:39 -0000 @@ -22,10 +22,10 @@ class LegacyError { public: char message[256]; int errorCode; - LegacyError(char *msg, int err) + LegacyError(const char *msg, int err) { strncpy(message, msg, 255); errorCode = err; Index: log.cpp =================================================================== RCS file: /cvsroot/alcc/alcc/log.cpp,v retrieving revision 1.5 diff -u -r1.5 log.cpp --- log.cpp 15 Jan 2007 03:19:24 -0000 1.5 +++ log.cpp 5 Jun 2007 21:53:45 -0000 @@ -71,7 +71,24 @@ { time_t t; char formattedTime[26]; // See ctime(3) - char *level; + int level; + typedef enum { + lvl_notice = 0, + lvl_warning, + lvl_error, + lvl_critical, + lvl_default + } lvl_t; + struct { + lvl_t num; + const char *name; + } levels[] = { + { lvl_notice, "NOTICE" }, + { lvl_warning, "WARNING" }, + { lvl_error, "ERROR" }, + { lvl_critical, "CRITICAL" }, + { lvl_default, "***" }, + }; if (lvl >= logLevel && logLevel != NONE && output != NULL) @@ -83,23 +100,24 @@ switch (lvl) { case NOTICE: - level = "NOTICE"; + level = lvl_notice; break; case WARNING: - level = "WARNING"; + level = lvl_warning; break; case ERROR: - level = "ERROR"; + level = lvl_error; break; case CRITICAL: - level = "CRITICAL"; + level = lvl_critical; break; default: - level = "***"; + level = lvl_default; } pthread_mutex_lock(&mutex); - fprintf(output, "[%s] %s: %s\n", formattedTime, level, msg); + fprintf(output, "[%s] %s: %s\n", formattedTime, + levels[level].name, msg); pthread_mutex_unlock(&mutex); } }