[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 01/11] util/cutils: add qemu_hexbuf_strdup(), ye
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [RFC PATCH 01/11] util/cutils: add qemu_hexbuf_strdup(), yet another hexdump() |
Date: |
Wed, 13 Dec 2017 17:44:26 -0300 |
This will be helpful for tracing() API.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
"yet", so probably duplicating a better way to do it :|
include/qemu/cutils.h | 3 +++
util/hexdump.c | 19 +++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h
index f0878eaafa..2966cd5d64 100644
--- a/include/qemu/cutils.h
+++ b/include/qemu/cutils.h
@@ -164,4 +164,7 @@ bool test_buffer_is_zero_next_accel(void);
int uleb128_encode_small(uint8_t *out, uint32_t n);
int uleb128_decode_small(const uint8_t *in, uint32_t *n);
+char *qemu_hexbuf_strdup(const void *buf, size_t size,
+ const char *str_hdr, const char *desc_if_empty);
+
#endif
diff --git a/util/hexdump.c b/util/hexdump.c
index f879ff0ad6..cabf33b2b8 100644
--- a/util/hexdump.c
+++ b/util/hexdump.c
@@ -15,6 +15,7 @@
#include "qemu/osdep.h"
#include "qemu-common.h"
+#include "qemu/cutils.h"
void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t size)
{
@@ -47,3 +48,21 @@ void qemu_hexdump(const char *buf, FILE *fp, const char
*prefix, size_t size)
fprintf(fp, "\n");
}
}
+
+char *qemu_hexbuf_strdup(const void *buf, size_t size,
+ const char *str_hdr, const char *desc_if_empty)
+{
+ const uint8_t *u8 = (uint8_t *)buf;
+ GString *s;
+ int i;
+
+ if (!size) {
+ return g_strdup(desc_if_empty ? desc_if_empty : "");
+ }
+ s = g_string_new(str_hdr ? : "");
+ for (i = 0; i < size; i++) {
+ g_string_append_printf(s, "%02x ", u8[i]);
+ }
+
+ return g_string_free(s, FALSE);
+}
--
2.15.1
- [Qemu-devel] [PATCH 00/11] QOM'ify SDBus, housekeeping, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [RFC PATCH 01/11] util/cutils: add qemu_hexbuf_strdup(), yet another hexdump(),
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH 02/11] bcm2835_peripherals: move GPIO 'sdbus' property link from init() -> realize(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 03/11] sdbus: add trace events, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 04/11] sdbus: add sdbus_create_bus() to replace qbus_create_inplace(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 05/11] sdbus: add sdbus_create_slave(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 06/11] sdbus: rename SDCardClass -> SDSlaveClass, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 07/11] sdbus: add a SD_BUS_SLAVE interface, Philippe Mathieu-Daudé, 2017/12/13