Message ID | 20240412073346.458116-11-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | misc: Replace sprintf | expand |
On 4/12/24 00:33, Richard Henderson wrote: > From: Philippe Mathieu-Daudé <philmd@linaro.org> > > sprintf() is deprecated on Darwin since macOS 13.0 / XCode 14.1. > Using qemu_hexdump_line both fixes the deprecation warning and > simplifies the code base. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > hw/dma/pl330.c | 23 ++++++++--------------- > 1 file changed, 8 insertions(+), 15 deletions(-) > > diff --git a/hw/dma/pl330.c b/hw/dma/pl330.c > index 70a502d245..5f89295af3 100644 > --- a/hw/dma/pl330.c > +++ b/hw/dma/pl330.c > @@ -15,6 +15,7 @@ > */ > > #include "qemu/osdep.h" > +#include "qemu/cutils.h" > #include "hw/irq.h" > #include "hw/qdev-properties.h" > #include "hw/sysbus.h" > @@ -317,22 +318,14 @@ typedef struct PL330InsnDesc { > > static void pl330_hexdump(uint8_t *buf, size_t size) > { > - unsigned int b, i, len; > - char tmpbuf[80]; > + g_autoptr(GString) str = g_string_sized_new(64); > + size_t b, len; > > - for (b = 0; b < size; b += 16) { > - len = size - b; > - if (len > 16) { > - len = 16; > - } > - tmpbuf[0] = '\0'; > - for (i = 0; i < len; i++) { > - if ((i % 4) == 0) { > - strcat(tmpbuf, " "); > - } > - sprintf(tmpbuf + strlen(tmpbuf), " %02x", buf[b + i]); > - } > - trace_pl330_hexdump(b, tmpbuf); > + for (b = 0; b < size; b += len) { > + len = MIN(16, size - b); > + g_string_truncate(str, 0); > + qemu_hexdump_line(str, buf + b, len, 1, 4); > + trace_pl330_hexdump(b, str->str); > } > } > Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
diff --git a/hw/dma/pl330.c b/hw/dma/pl330.c index 70a502d245..5f89295af3 100644 --- a/hw/dma/pl330.c +++ b/hw/dma/pl330.c @@ -15,6 +15,7 @@ */ #include "qemu/osdep.h" +#include "qemu/cutils.h" #include "hw/irq.h" #include "hw/qdev-properties.h" #include "hw/sysbus.h" @@ -317,22 +318,14 @@ typedef struct PL330InsnDesc { static void pl330_hexdump(uint8_t *buf, size_t size) { - unsigned int b, i, len; - char tmpbuf[80]; + g_autoptr(GString) str = g_string_sized_new(64); + size_t b, len; - for (b = 0; b < size; b += 16) { - len = size - b; - if (len > 16) { - len = 16; - } - tmpbuf[0] = '\0'; - for (i = 0; i < len; i++) { - if ((i % 4) == 0) { - strcat(tmpbuf, " "); - } - sprintf(tmpbuf + strlen(tmpbuf), " %02x", buf[b + i]); - } - trace_pl330_hexdump(b, tmpbuf); + for (b = 0; b < size; b += len) { + len = MIN(16, size - b); + g_string_truncate(str, 0); + qemu_hexdump_line(str, buf + b, len, 1, 4); + trace_pl330_hexdump(b, str->str); } }