[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/2] util/hexdump: Convert to take a void pointer argument
From: |
Li Qiang |
Subject: |
Re: [PATCH v2 1/2] util/hexdump: Convert to take a void pointer argument |
Date: |
Fri, 28 Aug 2020 17:56:57 +0800 |
Philippe Mathieu-Daudé <f4bug@amsat.org> 于2020年8月23日周日 上午2:11写道:
>
> Most uses of qemu_hexdump() do not take an array of char
> as input, forcing use of cast. Since we can use this
> helper to dump any kind of buffer, use a pointer to void
> argument instead.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
> ---
> Since v1:
> - renamed argument 'bufptr' (Peter Maydell)
> ---
> include/qemu-common.h | 3 ++-
> hw/dma/xlnx_dpdma.c | 2 +-
> hw/net/fsl_etsec/etsec.c | 2 +-
> hw/sd/sd.c | 2 +-
> hw/usb/redirect.c | 2 +-
> net/colo-compare.c | 12 ++++++------
> net/net.c | 2 +-
> util/hexdump.c | 4 +++-
> 8 files changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/include/qemu-common.h b/include/qemu-common.h
> index bb9496bd80f..6834883822f 100644
> --- a/include/qemu-common.h
> +++ b/include/qemu-common.h
> @@ -138,7 +138,8 @@ int os_parse_cmd_args(int index, const char *optarg);
> * Hexdump a buffer to a file. An optional string prefix is added to every
> line
> */
>
> -void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t
> size);
> +void qemu_hexdump(const void *bufptr, FILE *fp,
> + const char *prefix, size_t size);
>
> /*
> * helper to parse debug environment variables
> diff --git a/hw/dma/xlnx_dpdma.c b/hw/dma/xlnx_dpdma.c
> index b40c897de2c..d75a8069426 100644
> --- a/hw/dma/xlnx_dpdma.c
> +++ b/hw/dma/xlnx_dpdma.c
> @@ -388,7 +388,7 @@ static void xlnx_dpdma_dump_descriptor(DPDMADescriptor
> *desc)
> {
> if (DEBUG_DPDMA) {
> qemu_log("DUMP DESCRIPTOR:\n");
> - qemu_hexdump((char *)desc, stdout, "", sizeof(DPDMADescriptor));
> + qemu_hexdump(desc, stdout, "", sizeof(DPDMADescriptor));
> }
> }
>
> diff --git a/hw/net/fsl_etsec/etsec.c b/hw/net/fsl_etsec/etsec.c
> index 7035cf4eb97..c817a28decd 100644
> --- a/hw/net/fsl_etsec/etsec.c
> +++ b/hw/net/fsl_etsec/etsec.c
> @@ -357,7 +357,7 @@ static ssize_t etsec_receive(NetClientState *nc,
>
> #if defined(HEX_DUMP)
> fprintf(stderr, "%s receive size:%zd\n", nc->name, size);
> - qemu_hexdump((void *)buf, stderr, "", size);
> + qemu_hexdump(buf, stderr, "", size);
> #endif
> /* Flush is unnecessary as are already in receiving path */
> etsec->need_flush = false;
> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
> index fad9cf1ee7a..190e4cf1232 100644
> --- a/hw/sd/sd.c
> +++ b/hw/sd/sd.c
> @@ -1781,7 +1781,7 @@ send_response:
> }
>
> #ifdef DEBUG_SD
> - qemu_hexdump((const char *)response, stderr, "Response", rsplen);
> + qemu_hexdump(response, stderr, "Response", rsplen);
> #endif
>
> return rsplen;
> diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
> index 417a60a2e68..09edb0d81c0 100644
> --- a/hw/usb/redirect.c
> +++ b/hw/usb/redirect.c
> @@ -240,7 +240,7 @@ static void usbredir_log_data(USBRedirDevice *dev, const
> char *desc,
> if (dev->debug < usbredirparser_debug_data) {
> return;
> }
> - qemu_hexdump((char *)data, stderr, desc, len);
> + qemu_hexdump(data, stderr, desc, len);
> }
>
> /*
> diff --git a/net/colo-compare.c b/net/colo-compare.c
> index 2c20de1537d..550272b3baa 100644
> --- a/net/colo-compare.c
> +++ b/net/colo-compare.c
> @@ -494,9 +494,9 @@ sec:
> g_queue_push_head(&conn->secondary_list, spkt);
>
> if (trace_event_get_state_backends(TRACE_COLO_COMPARE_MISCOMPARE)) {
> - qemu_hexdump((char *)ppkt->data, stderr,
> + qemu_hexdump(ppkt->data, stderr,
> "colo-compare ppkt", ppkt->size);
> - qemu_hexdump((char *)spkt->data, stderr,
> + qemu_hexdump(spkt->data, stderr,
> "colo-compare spkt", spkt->size);
> }
>
> @@ -535,9 +535,9 @@ static int colo_packet_compare_udp(Packet *spkt, Packet
> *ppkt)
> trace_colo_compare_udp_miscompare("primary pkt size", ppkt->size);
> trace_colo_compare_udp_miscompare("Secondary pkt size", spkt->size);
> if (trace_event_get_state_backends(TRACE_COLO_COMPARE_MISCOMPARE)) {
> - qemu_hexdump((char *)ppkt->data, stderr, "colo-compare pri pkt",
> + qemu_hexdump(ppkt->data, stderr, "colo-compare pri pkt",
> ppkt->size);
> - qemu_hexdump((char *)spkt->data, stderr, "colo-compare sec pkt",
> + qemu_hexdump(spkt->data, stderr, "colo-compare sec pkt",
> spkt->size);
> }
> return -1;
> @@ -578,9 +578,9 @@ static int colo_packet_compare_icmp(Packet *spkt, Packet
> *ppkt)
> trace_colo_compare_icmp_miscompare("Secondary pkt size",
> spkt->size);
> if (trace_event_get_state_backends(TRACE_COLO_COMPARE_MISCOMPARE)) {
> - qemu_hexdump((char *)ppkt->data, stderr, "colo-compare pri pkt",
> + qemu_hexdump(ppkt->data, stderr, "colo-compare pri pkt",
> ppkt->size);
> - qemu_hexdump((char *)spkt->data, stderr, "colo-compare sec pkt",
> + qemu_hexdump(spkt->data, stderr, "colo-compare sec pkt",
> spkt->size);
> }
> return -1;
> diff --git a/net/net.c b/net/net.c
> index bbaedb3c7a6..f3e5d533fd7 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -636,7 +636,7 @@ static ssize_t
> qemu_send_packet_async_with_flags(NetClientState *sender,
>
> #ifdef DEBUG_NET
> printf("qemu_send_packet_async:\n");
> - qemu_hexdump((const char *)buf, stdout, "net", size);
> + qemu_hexdump(buf, stdout, "net", size);
> #endif
>
> if (sender->link_down || !sender->peer) {
> diff --git a/util/hexdump.c b/util/hexdump.c
> index f879ff0ad6b..053f05d4160 100644
> --- a/util/hexdump.c
> +++ b/util/hexdump.c
> @@ -16,8 +16,10 @@
> #include "qemu/osdep.h"
> #include "qemu-common.h"
>
> -void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t size)
> +void qemu_hexdump(const void *bufptr, FILE *fp,
> + const char *prefix, size_t size)
> {
> + const char *buf = bufptr;
> unsigned int b, len, i, c;
>
> for (b = 0; b < size; b += 16) {
> --
> 2.26.2
>
>