#include <stdint.h>
#include <acess_logging.h>
#include <ctype.h>
+#include <inttypes.h>
#define LOGHDR(col,type) fprintf(stderr, "\e["col"m[%-8.8s]"type" ", Ident)
#define LOGTAIL() fprintf(stderr, "\e[0m\n")
// === CODE ===
void Log_KernelPanic(const char *Ident, const char *Message, ...) {
PUTERR("35", "k")
- exit(-1);
+ abort();
}
void Log_Panic(const char *Ident, const char *Message, ...)
PUTERR("34", "p")
fprintf(stderr, "[HexDump ]d %s:", Prefix);
for( ; ofs < Length; ofs ++ )
{
- if( ofs % 16 == 8 ) fprintf(stderr, " ");
+ if( ofs % 8 == 0 ) fprintf(stderr, " ");
fprintf(stderr, " %02x", data[ofs%16]);
}
fprintf(stderr, "\n");
case 'x':
fprintf(stderr, "0x%x", va_arg(args,unsigned int));
break;
+ case 'X':
+ fprintf(stderr, "0x%"PRIx64, va_arg(args,uint64_t));
+ break;
default:
va_arg(args,uintptr_t);
fprintf(stderr, "?");
case 'i':
fprintf(stderr, " %i", va_arg(args, int));
break;
- case 'p':
+ case 'x':
+ fprintf(stderr, " 0x%x", va_arg(args, unsigned int));
+ break;
+ case 'X':
+ fprintf(stderr, " 0x%"PRIx64, va_arg(args,uint64_t));
+ break;
+ case 's':
fprintf(stderr, " \"%s\"", va_arg(args, const char *));
break;
+ case 'p':
+ fprintf(stderr, " %p", va_arg(args, const void *));
+ break;
+ case 'n':
+ fprintf(stderr, " NULL");
+ break;
default:
fprintf(stderr, " ?");
break;