>From 2e5d92b2d1955b3e85f1e93ad98469d00c47a658 Mon Sep 17 00:00:00 2001 From: Danil Antonov <g.danil.a...@gmail.com> Date: Wed, 29 Mar 2017 12:33:29 +0300 Subject: [PATCH 22/43] virtio: made printf always compile in debug output
Wrapped printf calls inside debug macros (DPRINTF) in `if` statement. This will ensure that printf function will always compile even if debug output is turned off and, in turn, will prevent bitrot of the format strings. Signed-off-by: Danil Antonov <g.danil.a...@gmail.com> --- hw/virtio/virtio-bus.c | 15 ++++++++++----- hw/virtio/virtio-mmio.c | 17 ++++++++++------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/hw/virtio/virtio-bus.c b/hw/virtio/virtio-bus.c index 3042232..35cfef5 100644 --- a/hw/virtio/virtio-bus.c +++ b/hw/virtio/virtio-bus.c @@ -31,15 +31,20 @@ #include "hw/virtio/virtio.h" #include "exec/address-spaces.h" + /* #define DEBUG_VIRTIO_BUS */ -#ifdef DEBUG_VIRTIO_BUS -#define DPRINTF(fmt, ...) \ -do { printf("virtio_bus: " fmt , ## __VA_ARGS__); } while (0) -#else -#define DPRINTF(fmt, ...) do { } while (0) +#ifndef DEBUG_VIRTIO_BUS +#define DEBUG_VIRTIO_BUS 0 #endif +#define DPRINTF(fmt, ...) \ + do { \ + if (DEBUG_VIRTIO_BUS) { \ + fprintf(stderr, "virtio_bus: " fmt, ## __VA_ARGS__); \ + } \ + } while (0) + /* A VirtIODevice is being plugged */ void virtio_bus_device_plugged(VirtIODevice *vdev, Error **errp) { diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c index 5807aa8..31e3094 100644 --- a/hw/virtio/virtio-mmio.c +++ b/hw/virtio/virtio-mmio.c @@ -30,13 +30,16 @@ /* #define DEBUG_VIRTIO_MMIO */ -#ifdef DEBUG_VIRTIO_MMIO - -#define DPRINTF(fmt, ...) \ -do { printf("virtio_mmio: " fmt , ## __VA_ARGS__); } while (0) -#else -#define DPRINTF(fmt, ...) do {} while (0) -#endif +#ifndef DEBUG_VIRTIO_MMIO +#define DEBUG_VIRTIO_MMIO 0 +#endif + +#define DPRINTF(fmt, ...) \ + do { \ + if (DEBUG_VIRTIO_MMIO) { \ + fprintf(stderr, "virtio_mmio: " fmt, ## __VA_ARGS__); \ + } \ + } while (0) /* QOM macros */ /* virtio-mmio-bus */ -- 2.8.0.rc3