git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://ted.mutabah.net/acess2
[tpg/acess2.git]
/
KernelLand
/
Kernel
/
logging.c
diff --git
a/KernelLand/Kernel/logging.c
b/KernelLand/Kernel/logging.c
index
aab25a1
..
46d4c04
100644
(file)
--- a/
KernelLand/Kernel/logging.c
+++ b/
KernelLand/Kernel/logging.c
@@
-29,7
+29,10
@@
const char *csaLevelColours[] = {
"\x1B[35m", "\x1B[34m", "\x1B[36m", "\x1B[31m",
"\x1B[33m", "\x1B[32m", "\x1B[0m", "\x1B[0m"
};
"\x1B[35m", "\x1B[34m", "\x1B[36m", "\x1B[31m",
"\x1B[33m", "\x1B[32m", "\x1B[0m", "\x1B[0m"
};
-const char *csaLevelCodes[] = {"k","p","f","e","w","n","l","d"};
+const char *csaLevelCodes[] = {
+ "k","p","f","e",
+ "w","n","l","d"
+ };
// === TYPES ===
typedef struct sLogEntry
// === TYPES ===
typedef struct sLogEntry
@@
-93,7
+96,7
@@
void Log_AddEvent(const char *Ident, int Level, const char *Format, va_list Args
if( Level >= NUM_LOG_LEVELS ) return;
va_copy(args_tmp, Args);
if( Level >= NUM_LOG_LEVELS ) return;
va_copy(args_tmp, Args);
- len = vsnprintf(NULL,
256
, Format, args_tmp);
+ len = vsnprintf(NULL,
0
, Format, args_tmp);
#if USE_RING_BUFFER || !CACHE_MESSAGES
{
#if USE_RING_BUFFER || !CACHE_MESSAGES
{
@@
-114,9
+117,7
@@
void Log_AddEvent(const char *Ident, int Level, const char *Format, va_list Args
{
#define LOG_HDR_LEN (14+1+2+8+2)
char newData[ LOG_HDR_LEN + len + 2 + 1 ];
{
#define LOG_HDR_LEN (14+1+2+8+2)
char newData[ LOG_HDR_LEN + len + 2 + 1 ];
- char _ident[9];
- strncpy(_ident, Ident, 9);
- sprintf( newData, "%014lli%s [%-8s] ",
+ sprintf( newData, "%014lli%s [%-8.8s] ",
ent->Time, csaLevelCodes[Level], Ident);
strcpy( newData + LOG_HDR_LEN, ent->Data );
strcpy( newData + LOG_HDR_LEN + len, "\r\n" );
ent->Time, csaLevelCodes[Level], Ident);
strcpy( newData + LOG_HDR_LEN, ent->Data );
strcpy( newData + LOG_HDR_LEN + len, "\r\n" );
@@
-127,16
+128,14
@@
void Log_AddEvent(const char *Ident, int Level, const char *Format, va_list Args
Mutex_Acquire( &glLog );
ent->Next = gLog.Tail;
Mutex_Acquire( &glLog );
ent->Next = gLog.Tail;
- if(gLog.Head)
- gLog.Tail = ent;
- else
- gLog.Tail = gLog.Head = ent;
+ tLogEntry **pnp = (gLog.Tail ? &gLog.Tail->Next : &gLog.Head);
+ *pnp = ent;
+ gLog.Tail = ent;
ent->LevelNext = gLog_Levels[Level].Tail;
ent->LevelNext = gLog_Levels[Level].Tail;
- if(gLog_Levels[Level].Head)
- gLog_Levels[Level].Tail = ent;
- else
- gLog_Levels[Level].Tail = gLog_Levels[Level].Head = ent;
+ pnp = (gLog_Levels[Level].Tail ? &gLog_Levels[Level].Tail->LevelNext : &gLog_Levels[Level].Head);
+ *pnp = ent;
+ gLog_Levels[Level].Tail = ent;
Mutex_Release( &glLog );
# endif
Mutex_Release( &glLog );
# endif
@@
-163,10
+162,11
@@
void Log_Int_PrintMessage(tLogEntry *Entry)
csaLevelColours[Entry->Level],
Entry->Time
);
csaLevelColours[Entry->Level],
Entry->Time
);
- LogF("%s [%-8s] %i - %s",
+ LogF("%s [%-8s] %i - %
.*
s",
csaLevelCodes[Entry->Level],
Entry->Ident,
Threads_GetTID(),
csaLevelCodes[Entry->Level],
Entry->Ident,
Threads_GetTID(),
+ Entry->Length,
Entry->Data
);
LogF("\x1B[0m\r\n"); // Separate in case Entry->Data is too long
Entry->Data
);
LogF("\x1B[0m\r\n"); // Separate in case Entry->Data is too long
UCC
git Repository :: git.ucc.asn.au