Commit 63ad6e6d authored by Kinsbursky Stanislav's avatar Kinsbursky Stanislav Committed by Pavel Emelyanov

show: add helper for reading and printing of images binary data

Signed-off-by: 's avatarStanislav Kinsbursky <skinsbursky@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent d0a5f0ae
......@@ -165,6 +165,23 @@ void print_data(unsigned long addr, unsigned char *data, size_t size)
}
}
void print_image_data(int fd, unsigned int length)
{
void *data;
int ret;
data = xmalloc(length);
if (!data)
return;
ret = read_img_buf(fd, (unsigned char *)data, length);
if (ret < 0) {
xfree(data);
return;
}
print_data(0, (unsigned char *)data, length);
xfree(data);
}
void show_pages(int fd_pages, struct cr_options *o)
{
pr_img_head(CR_FD_PAGES);
......
......@@ -127,6 +127,7 @@ int check_img_inventory(void);
int write_img_inventory(void);
extern void print_data(unsigned long addr, unsigned char *data, size_t size);
extern void print_image_data(int fd, unsigned int length);
extern struct cr_fd_desc_tmpl fdset_template[CR_FD_MAX];
extern int open_image_dir(void);
......
......@@ -175,25 +175,13 @@ void show_sk_queues(int fd, struct cr_options *o)
pr_img_head(CR_FD_SK_QUEUES);
while (1) {
void *data;
ret = pb_read_eof(fd, &pe, sk_packet_entry);
if (ret <= 0)
break;
pr_msg("pkt for %u length %u bytes\n",
pe->id_for, (unsigned int)pe->length);
data = xmalloc(pe->length);
if (!data)
break;
ret = read_img_buf(fd, (unsigned char *)data, pe->length);
if (ret < 0) {
xfree(data);
break;
}
print_data(0, (unsigned char *)data, pe->length);
print_image_data(fd, pe->length);
sk_packet_entry__free_unpacked(pe, NULL);
xfree(data);
}
pr_img_tail(CR_FD_SK_QUEUES);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment