mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-29 13:28:27 +00:00
show: Beautify output of the -c data dump
Calculate the best width for address and print them all with it. Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
f3e8977c73
commit
ef2bd77ebd
18
cr-show.c
18
cr-show.c
@ -254,12 +254,26 @@ void show_vmas(int fd_vma, struct cr_options *o)
|
||||
pr_img_tail(CR_FD_VMAS);
|
||||
}
|
||||
|
||||
static int nice_width_for(unsigned long addr)
|
||||
{
|
||||
int ret = 3;
|
||||
|
||||
while (addr) {
|
||||
addr >>= 4;
|
||||
ret++;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void print_data(unsigned long addr, unsigned char *data, size_t size)
|
||||
{
|
||||
int i, j;
|
||||
int i, j, addr_len;
|
||||
|
||||
addr_len = nice_width_for(addr + size);
|
||||
|
||||
for (i = 0; i < size; i+= 16) {
|
||||
pr_msg("0x%16lx: ", addr + i);
|
||||
pr_msg("%#0*lx: ", addr_len, addr + i);
|
||||
for (j = 0; j < 8; j++)
|
||||
pr_msg("0x%02x ", data[i + j]);
|
||||
pr_msg(" ");
|
||||
|
Loading…
x
Reference in New Issue
Block a user