mirror of
https://github.com/clearml/dropbear
synced 2025-02-07 05:17:28 +00:00
Print ascii in printhex too
This commit is contained in:
parent
4e8a1da551
commit
acd6a22a0c
31
dbutil.c
31
dbutil.c
@ -385,20 +385,37 @@ void run_shell_command(const char* cmd, unsigned int maxfd, char* usershell) {
|
||||
|
||||
#if DEBUG_TRACE
|
||||
void printhex(const char * label, const unsigned char * buf, int len) {
|
||||
|
||||
int i;
|
||||
int i, j;
|
||||
|
||||
fprintf(stderr, "%s\n", label);
|
||||
for (i = 0; i < len; i++) {
|
||||
fprintf(stderr, "%02x", buf[i]);
|
||||
if (i % 16 == 15) {
|
||||
fprintf(stderr, "\n");
|
||||
/* for each 16 byte line */
|
||||
for (j = 0; j < len; j += 16) {
|
||||
const int linelen = MIN(16, len - j);
|
||||
|
||||
/* print hex digits */
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (i < linelen) {
|
||||
fprintf(stderr, "%02x", buf[j+i]);
|
||||
} else {
|
||||
fprintf(stderr, " ");
|
||||
}
|
||||
else if (i % 2 == 1) {
|
||||
// separator between pairs
|
||||
if (i % 2 ==1) {
|
||||
fprintf(stderr, " ");
|
||||
}
|
||||
}
|
||||
|
||||
/* print characters */
|
||||
fprintf(stderr, " ");
|
||||
for (i = 0; i < linelen; i++) {
|
||||
char c = buf[j+i];
|
||||
if (!isprint(c)) {
|
||||
c = '.';
|
||||
}
|
||||
fputc(c, stderr);
|
||||
}
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
void printmpint(const char *label, mp_int *mp) {
|
||||
|
Loading…
Reference in New Issue
Block a user