summaryrefslogtreecommitdiff
path: root/os/log.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-03-21 12:55:09 -0700
committerKeith Packard <keithp@keithp.com>2012-03-21 13:54:42 -0700
commit9838b7032ea9792bec21af424c53c07078636d21 (patch)
treeb72d0827dac50f0f3b8eab29b3b7639546d735d7 /os/log.c
parent75199129c603fc8567185ac31866c9518193cb78 (diff)
Introduce a consistent coding style
This is strictly the application of the script 'x-indent-all.sh' from util/modular. Compared to the patch that Daniel posted in January, I've added a few indent flags: -bap -psl -T PrivatePtr -T pmWait -T _XFUNCPROTOBEGIN -T _XFUNCPROTOEND -T _X_EXPORT The typedefs were needed to make the output of sdksyms.sh match the previous output, otherwise, the code is formatted badly enough that sdksyms.sh generates incorrect output. The generated code was compared with the previous version and found to be essentially identical -- "assert" line numbers and BUILD_TIME were the only differences found. The comparison was done with this script: dir1=$1 dir2=$2 for dir in $dir1 $dir2; do (cd $dir && find . -name '*.o' | while read file; do dir=`dirname $file` base=`basename $file .o` dump=$dir/$base.dump objdump -d $file > $dump done) done find $dir1 -name '*.dump' | while read dump; do otherdump=`echo $dump | sed "s;$dir1;$dir2;"` diff -u $dump $otherdump done Signed-off-by: Keith Packard <keithp@keithp.com> Acked-by: Daniel Stone <daniel@fooishbar.org> Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Diffstat (limited to 'os/log.c')
-rw-r--r--os/log.c306
1 files changed, 155 insertions, 151 deletions
diff --git a/os/log.c b/os/log.c
index 671a01bb6..0ccd12613 100644
--- a/os/log.c
+++ b/os/log.c
@@ -24,7 +24,6 @@ not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
-
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
Copyright 1994 Quarterdeck Office Systems.
@@ -76,7 +75,6 @@ OR PERFORMANCE OF THIS SOFTWARE.
* authorization from the copyright holder(s) and author(s).
*/
-
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
@@ -86,7 +84,7 @@ OR PERFORMANCE OF THIS SOFTWARE.
#include <time.h>
#include <sys/stat.h>
#include <stdarg.h>
-#include <stdlib.h> /* for malloc() */
+#include <stdlib.h> /* for malloc() */
#include "input.h"
#include "site.h"
@@ -106,7 +104,7 @@ OR PERFORMANCE OF THIS SOFTWARE.
#endif
#ifdef DDXOSVERRORF
-void (*OsVendorVErrorFProc)(const char *, va_list args) = NULL;
+void (*OsVendorVErrorFProc) (const char *, va_list args) = NULL;
#endif
static FILE *logFile = NULL;
@@ -123,13 +121,15 @@ static Bool needBuffer = TRUE;
#ifdef __APPLE__
#include <AvailabilityMacros.h>
-static char __crashreporter_info_buff__[4096] = {0};
-static const char *__crashreporter_info__ __attribute__((__used__)) = &__crashreporter_info_buff__[0];
+static char __crashreporter_info_buff__[4096] = { 0 };
+
+static const char *__crashreporter_info__ __attribute__ ((__used__)) =
+ &__crashreporter_info_buff__[0];
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
// This is actually a toolchain requirement, but I'm not sure the correct check,
// but it should be fine to just only include it for Leopard and later. This line
// just tells the linker to never strip this symbol (such as for space optimization)
-asm (".desc ___crashreporter_info__, 0x10");
+asm(".desc ___crashreporter_info__, 0x10");
#endif
#endif
@@ -183,39 +183,39 @@ LogInit(const char *fname, const char *backup)
char *logFileName = NULL;
if (fname && *fname) {
- if (asprintf(&logFileName, fname, display) == -1)
- FatalError("Cannot allocate space for the log file name\n");
-
- if (backup && *backup) {
- struct stat buf;
-
- if (!stat(logFileName, &buf) && S_ISREG(buf.st_mode)) {
- char *suffix;
- char *oldLog;
-
- if ((asprintf(&suffix, backup, display) == -1) ||
- (asprintf(&oldLog, "%s%s", logFileName, suffix) == -1))
- FatalError("Cannot allocate space for the log file name\n");
- free(suffix);
- if (rename(logFileName, oldLog) == -1) {
- FatalError("Cannot move old log file \"%s\" to \"%s\"\n",
- logFileName, oldLog);
- }
- free(oldLog);
- }
- }
- if ((logFile = fopen(logFileName, "w")) == NULL)
- FatalError("Cannot open log file \"%s\"\n", logFileName);
- setvbuf(logFile, NULL, _IONBF, 0);
-
- /* Flush saved log information. */
- if (saveBuffer && bufferSize > 0) {
- fwrite(saveBuffer, bufferPos, 1, logFile);
- fflush(logFile);
+ if (asprintf(&logFileName, fname, display) == -1)
+ FatalError("Cannot allocate space for the log file name\n");
+
+ if (backup && *backup) {
+ struct stat buf;
+
+ if (!stat(logFileName, &buf) && S_ISREG(buf.st_mode)) {
+ char *suffix;
+ char *oldLog;
+
+ if ((asprintf(&suffix, backup, display) == -1) ||
+ (asprintf(&oldLog, "%s%s", logFileName, suffix) == -1))
+ FatalError("Cannot allocate space for the log file name\n");
+ free(suffix);
+ if (rename(logFileName, oldLog) == -1) {
+ FatalError("Cannot move old log file \"%s\" to \"%s\"\n",
+ logFileName, oldLog);
+ }
+ free(oldLog);
+ }
+ }
+ if ((logFile = fopen(logFileName, "w")) == NULL)
+ FatalError("Cannot open log file \"%s\"\n", logFileName);
+ setvbuf(logFile, NULL, _IONBF, 0);
+
+ /* Flush saved log information. */
+ if (saveBuffer && bufferSize > 0) {
+ fwrite(saveBuffer, bufferPos, 1, logFile);
+ fflush(logFile);
#ifndef WIN32
- fsync(fileno(logFile));
+ fsync(fileno(logFile));
#endif
- }
+ }
}
/*
@@ -223,9 +223,9 @@ LogInit(const char *fname, const char *backup)
* needed.
*/
if (saveBuffer && bufferSize > 0) {
- free(saveBuffer); /* Must be free(), not free() */
- saveBuffer = NULL;
- bufferSize = 0;
+ free(saveBuffer); /* Must be free(), not free() */
+ saveBuffer = NULL;
+ bufferSize = 0;
}
needBuffer = FALSE;
@@ -236,10 +236,10 @@ void
LogClose(enum ExitCode error)
{
if (logFile) {
- ErrorF("Server terminated %s (%d). Closing log file.\n",
- (error == EXIT_NO_ERROR) ? "successfully" : "with error", error);
- fclose(logFile);
- logFile = NULL;
+ ErrorF("Server terminated %s (%d). Closing log file.\n",
+ (error == EXIT_NO_ERROR) ? "successfully" : "with error", error);
+ fclose(logFile);
+ logFile = NULL;
}
}
@@ -248,19 +248,19 @@ LogSetParameter(LogParameter param, int value)
{
switch (param) {
case XLOG_FLUSH:
- logFlush = value ? TRUE : FALSE;
- return TRUE;
+ logFlush = value ? TRUE : FALSE;
+ return TRUE;
case XLOG_SYNC:
- logSync = value ? TRUE : FALSE;
- return TRUE;
+ logSync = value ? TRUE : FALSE;
+ return TRUE;
case XLOG_VERBOSITY:
- logVerbosity = value;
- return TRUE;
+ logVerbosity = value;
+ return TRUE;
case XLOG_FILE_VERBOSITY:
- logFileVerbosity = value;
- return TRUE;
+ logFileVerbosity = value;
+ return TRUE;
default:
- return FALSE;
+ return FALSE;
}
}
@@ -274,10 +274,10 @@ LogVWrite(int verb, const char *f, va_list args)
static Bool newline = TRUE;
if (newline) {
- sprintf(tmpBuffer, "[%10.3f] ", GetTimeInMillis() / 1000.0);
- len = strlen(tmpBuffer);
- if (logFile)
- fwrite(tmpBuffer, len, 1, logFile);
+ sprintf(tmpBuffer, "[%10.3f] ", GetTimeInMillis() / 1000.0);
+ len = strlen(tmpBuffer);
+ if (logFile)
+ fwrite(tmpBuffer, len, 1, logFile);
}
/*
@@ -286,34 +286,35 @@ LogVWrite(int verb, const char *f, va_list args)
* stream(s).
*/
if (verb < 0 || logFileVerbosity >= verb || logVerbosity >= verb) {
- vsnprintf(tmpBuffer, sizeof(tmpBuffer), f, args);
- len = strlen(tmpBuffer);
+ vsnprintf(tmpBuffer, sizeof(tmpBuffer), f, args);
+ len = strlen(tmpBuffer);
}
- newline = (tmpBuffer[len-1] == '\n');
+ newline = (tmpBuffer[len - 1] == '\n');
if ((verb < 0 || logVerbosity >= verb) && len > 0)
- fwrite(tmpBuffer, len, 1, stderr);
+ fwrite(tmpBuffer, len, 1, stderr);
if ((verb < 0 || logFileVerbosity >= verb) && len > 0) {
- if (logFile) {
- fwrite(tmpBuffer, len, 1, logFile);
- if (logFlush) {
- fflush(logFile);
+ if (logFile) {
+ fwrite(tmpBuffer, len, 1, logFile);
+ if (logFlush) {
+ fflush(logFile);
#ifndef WIN32
- if (logSync)
- fsync(fileno(logFile));
+ if (logSync)
+ fsync(fileno(logFile));
#endif
- }
- } else if (needBuffer) {
- if (len > bufferUnused) {
- bufferSize += 1024;
- bufferUnused += 1024;
- saveBuffer = realloc(saveBuffer, bufferSize);
- if (!saveBuffer)
- FatalError("realloc() failed while saving log messages\n");
- }
- bufferUnused -= len;
- memcpy(saveBuffer + bufferPos, tmpBuffer, len);
- bufferPos += len;
- }
+ }
+ }
+ else if (needBuffer) {
+ if (len > bufferUnused) {
+ bufferSize += 1024;
+ bufferUnused += 1024;
+ saveBuffer = realloc(saveBuffer, bufferSize);
+ if (!saveBuffer)
+ FatalError("realloc() failed while saving log messages\n");
+ }
+ bufferUnused -= len;
+ memcpy(saveBuffer + bufferPos, tmpBuffer, len);
+ bufferPos += len;
+ }
}
}
@@ -333,36 +334,36 @@ static const char *
LogMessageTypeVerbString(MessageType type, int verb)
{
if (type == X_ERROR)
- verb = 0;
+ verb = 0;
if (logVerbosity < verb && logFileVerbosity < verb)
- return NULL;
+ return NULL;
switch (type) {
case X_PROBED:
- return X_PROBE_STRING;
+ return X_PROBE_STRING;
case X_CONFIG:
- return X_CONFIG_STRING;
+ return X_CONFIG_STRING;
case X_DEFAULT:
- return X_DEFAULT_STRING;
+ return X_DEFAULT_STRING;
case X_CMDLINE:
- return X_CMDLINE_STRING;
+ return X_CMDLINE_STRING;
case X_NOTICE:
- return X_NOTICE_STRING;
+ return X_NOTICE_STRING;
case X_ERROR:
- return X_ERROR_STRING;
+ return X_ERROR_STRING;
case X_WARNING:
- return X_WARNING_STRING;
+ return X_WARNING_STRING;
case X_INFO:
- return X_INFO_STRING;
+ return X_INFO_STRING;
case X_NOT_IMPLEMENTED:
- return X_NOT_IMPLEMENTED_STRING;
+ return X_NOT_IMPLEMENTED_STRING;
case X_UNKNOWN:
- return X_UNKNOWN_STRING;
+ return X_UNKNOWN_STRING;
case X_NONE:
- return X_NONE_STRING;
+ return X_NONE_STRING;
default:
- return X_UNKNOWN_STRING;
+ return X_UNKNOWN_STRING;
}
}
@@ -375,7 +376,7 @@ LogVMessageVerb(MessageType type, int verb, const char *format, va_list args)
type_str = LogMessageTypeVerbString(type, verb);
if (!type_str)
- return;
+ return;
/* if type_str is not "", prepend it and ' ', to format */
if (type_str[0] == '\0')
@@ -410,10 +411,9 @@ LogMessage(MessageType type, const char *format, ...)
va_end(ap);
}
-
void
LogVHdrMessageVerb(MessageType type, int verb, const char *msg_format,
- va_list msg_args, const char *hdr_format, va_list hdr_args)
+ va_list msg_args, const char *hdr_format, va_list hdr_args)
{
const char *type_str;
char tmpFormat[1024];
@@ -423,29 +423,29 @@ LogVHdrMessageVerb(MessageType type, int verb, const char *msg_format,
type_str = LogMessageTypeVerbString(type, verb);
if (!type_str)
- return;
+ return;
/* if type_str != "", copy it and ' ' to tmpFormat; set p after ' ' */
p = tmpFormat;
if (type_str[0] != '\0')
- p += snprintf(tmpFormat, sizeof(tmpFormat), "%s ", type_str);
+ p += snprintf(tmpFormat, sizeof(tmpFormat), "%s ", type_str);
/* append as much of hdr as fits after type_str (if there was one) */
left = tmpFormat_end - p;
if (left > 1)
- p += vsnprintf(p, left, hdr_format, hdr_args);
+ p += vsnprintf(p, left, hdr_format, hdr_args);
/* append as much of msg_format as will fit after hdr */
left = tmpFormat_end - p;
if (left > 1)
- snprintf(p, left, "%s", msg_format);
+ snprintf(p, left, "%s", msg_format);
LogVWrite(verb, tmpFormat, msg_args);
}
void
LogHdrMessageVerb(MessageType type, int verb, const char *msg_format,
- va_list msg_args, const char *hdr_format, ...)
+ va_list msg_args, const char *hdr_format, ...)
{
va_list hdr_args;
@@ -456,7 +456,7 @@ LogHdrMessageVerb(MessageType type, int verb, const char *msg_format,
void
LogHdrMessage(MessageType type, const char *msg_format, va_list msg_args,
- const char *hdr_format, ...)
+ const char *hdr_format, ...)
{
va_list hdr_args;
@@ -466,7 +466,8 @@ LogHdrMessage(MessageType type, const char *msg_format, va_list msg_args,
}
void
-AbortServer(void) _X_NORETURN;
+AbortServer(void)
+ _X_NORETURN;
void
AbortServer(void)
@@ -480,13 +481,13 @@ AbortServer(void)
AbortDDX(EXIT_ERR_ABORT);
fflush(stderr);
if (CoreDump)
- OsAbort();
- exit (1);
+ OsAbort();
+ exit(1);
}
#define AUDIT_PREFIX "AUDIT: %s: %ld: "
#ifndef AUDIT_TIMEOUT
-#define AUDIT_TIMEOUT ((CARD32)(120 * 1000)) /* 2 mn */
+#define AUDIT_TIMEOUT ((CARD32)(120 * 1000)) /* 2 mn */
#endif
static int nrepeat = 0;
@@ -497,10 +498,10 @@ void
FreeAuditTimer(void)
{
if (auditTimer != NULL) {
- /* Force output of pending messages */
- TimerForce(auditTimer);
- TimerFree(auditTimer);
- auditTimer = NULL;
+ /* Force output of pending messages */
+ TimerForce(auditTimer);
+ TimerFree(auditTimer);
+ auditTimer = NULL;
}
}
@@ -515,17 +516,17 @@ AuditPrefix(void)
time(&tm);
autime = ctime(&tm);
if ((s = strchr(autime, '\n')))
- *s = '\0';
+ *s = '\0';
len = strlen(AUDIT_PREFIX) + strlen(autime) + 10 + 1;
tmpBuf = malloc(len);
if (!tmpBuf)
- return NULL;
- snprintf(tmpBuf, len, AUDIT_PREFIX, autime, (unsigned long)getpid());
+ return NULL;
+ snprintf(tmpBuf, len, AUDIT_PREFIX, autime, (unsigned long) getpid());
return tmpBuf;
}
void
-AuditF(const char * f, ...)
+AuditF(const char *f, ...)
{
va_list args;
@@ -541,16 +542,17 @@ AuditFlush(OsTimerPtr timer, CARD32 now, pointer arg)
char *prefix;
if (nrepeat > 0) {
- prefix = AuditPrefix();
- ErrorF("%slast message repeated %d times\n",
- prefix != NULL ? prefix : "", nrepeat);
- nrepeat = 0;
- free(prefix);
- return AUDIT_TIMEOUT;
- } else {
- /* if the timer expires without anything to print, flush the message */
- oldlen = -1;
- return 0;
+ prefix = AuditPrefix();
+ ErrorF("%slast message repeated %d times\n",
+ prefix != NULL ? prefix : "", nrepeat);
+ nrepeat = 0;
+ free(prefix);
+ return AUDIT_TIMEOUT;
+ }
+ else {
+ /* if the timer expires without anything to print, flush the message */
+ oldlen = -1;
+ return 0;
}
}
@@ -566,17 +568,18 @@ VAuditF(const char *f, va_list args)
len = vsnprintf(buf, sizeof(buf), f, args);
if (len == oldlen && strcmp(buf, oldbuf) == 0) {
- /* Message already seen */
- nrepeat++;
- } else {
- /* new message */
- if (auditTimer != NULL)
- TimerForce(auditTimer);
- ErrorF("%s%s", prefix != NULL ? prefix : "", buf);
- strlcpy(oldbuf, buf, sizeof(oldbuf));
- oldlen = len;
- nrepeat = 0;
- auditTimer = TimerSet(auditTimer, 0, AUDIT_TIMEOUT, AuditFlush, NULL);
+ /* Message already seen */
+ nrepeat++;
+ }
+ else {
+ /* new message */
+ if (auditTimer != NULL)
+ TimerForce(auditTimer);
+ ErrorF("%s%s", prefix != NULL ? prefix : "", buf);
+ strlcpy(oldbuf, buf, sizeof(oldbuf));
+ oldlen = len;
+ nrepeat = 0;
+ auditTimer = TimerSet(auditTimer, 0, AUDIT_TIMEOUT, AuditFlush, NULL);
}
free(prefix);
}
@@ -588,16 +591,18 @@ FatalError(const char *f, ...)
static Bool beenhere = FALSE;
if (beenhere)
- ErrorF("\nFatalError re-entered, aborting\n");
+ ErrorF("\nFatalError re-entered, aborting\n");
else
- ErrorF("\nFatal server error:\n");
+ ErrorF("\nFatal server error:\n");
va_start(args, f);
#ifdef __APPLE__
{
va_list args2;
+
va_copy(args2, args);
- (void)vsnprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), f, args2);
+ (void) vsnprintf(__crashreporter_info_buff__,
+ sizeof(__crashreporter_info_buff__), f, args2);
va_end(args2);
}
#endif
@@ -605,30 +610,30 @@ FatalError(const char *f, ...)
va_end(args);
ErrorF("\n");
if (!beenhere)
- OsVendorFatalError();
+ OsVendorFatalError();
if (!beenhere) {
- beenhere = TRUE;
- AbortServer();
- } else
- OsAbort();
- /*NOTREACHED*/
-}
+ beenhere = TRUE;
+ AbortServer();
+ }
+ else
+ OsAbort();
+ /*NOTREACHED*/}
void
VErrorF(const char *f, va_list args)
{
#ifdef DDXOSVERRORF
if (OsVendorVErrorFProc)
- OsVendorVErrorFProc(f, args);
+ OsVendorVErrorFProc(f, args);
else
- LogVWrite(-1, f, args);
+ LogVWrite(-1, f, args);
#else
LogVWrite(-1, f, args);
#endif
}
void
-ErrorF(const char * f, ...)
+ErrorF(const char *f, ...)
{
va_list args;
@@ -653,4 +658,3 @@ LogPrintMarkers(void)
LogMessageVerb(X_NOT_IMPLEMENTED, 0, "not implemented, ");
LogMessageVerb(X_UNKNOWN, 0, "unknown.\n");
}
-