add hex logging capability

r3755 | dcl | 2012-10-02 17:11:07 +1000 (Tue, 02 Oct 2012) | 1 line
This commit is contained in:
Douglas Clowes
2012-10-02 17:11:07 +10:00
parent e1ad82ca76
commit defe43eed4
2 changed files with 43 additions and 0 deletions

View File

@@ -400,3 +400,44 @@ snprintf(fPath, 1023, "%s/", "../log");
void SICSLogWrite(char *pText, OutCode eOut) {
SICSLogWriteTime(pText, eOut, NULL);
}
void SICSLogWriteHexTime(const char* text, int count, OutCode eOut, struct timeval *tp) {
char hex[] = "0123456789ABCDEF";
char addr[20], left[80], right[80];
char *lp = left;
char *rp = right;
int i;
for (i = 0; i < count; ++i) {
if ((i & 0xF) == 0) {
if (i > 0) {
char line[132];
snprintf(line, sizeof(line)-1, "%-6s: %-49s | %-17s |", addr, left, right);
SICSLogWriteTime(line, eOut, tp);
}
snprintf(addr, sizeof(addr)-1, "%06x", i);
lp = left;
rp = right;
}
*lp++ = hex[(text[i] >> 4) & 0xF];
*lp++ = hex[(text[i]) & 0xF];
*lp++ = ' ';
if (text[i]>= ' ' && text[i] <= '~')
*rp++ = text[i];
else
*rp++ = '.';
if ((i & 0xF) == 8) {
*lp++ = ' ';
*rp++ = ' ';
}
*lp = *rp = '\0';
}
if (i > 0) {
char line[132];
snprintf(line, sizeof(line)-1, "%-6s: %-49s | %-17s |", addr, left, right);
SICSLogWriteTime(line, eOut, tp);
}
}
void SICSLogWriteHex(const char* text, int count, OutCode eOut) {
SICSLogWriteHexTime(text, count, eOut, NULL);
}