Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- nbd/client.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/nbd/client.c b/nbd/client.c index 3d15596120..52f7981c9c 100644 --- a/nbd/client.c +++ b/nbd/client.c @@ -426,6 +426,21 @@ static QIOChannel *nbd_receive_starttls(QIOChannel *ioc, return QIO_CHANNEL(tioc); } +static const char *nbd_magic_to_string(char *out, const char *in, + size_t count) +{ + size_t i; + + for (i = 0; i < count; ++i) { + if (in[i] == '\0') { + out[i] = '\0'; + break; + } + out[i] = qemu_isprint(in[i]) ? in[i] : '.'; + } + + return out; +} int nbd_receive_negotiate(QIOChannel *ioc, const char *name, uint16_t *flags, QCryptoTLSCreds *tlscreds, const char *hostname, @@ -433,6 +448,7 @@ int nbd_receive_negotiate(QIOChannel *ioc, const char *name, uint16_t *flags, off_t *size, Error **errp) { char buf[256]; + char print_buf[256]; uint64_t magic, s; int rc; bool zeroes = true; @@ -461,15 +477,7 @@ int nbd_receive_negotiate(QIOChannel *ioc, const char *name, uint16_t *flags, goto fail; } - TRACE("Magic is %c%c%c%c%c%c%c%c", - qemu_isprint(buf[0]) ? buf[0] : '.', - qemu_isprint(buf[1]) ? buf[1] : '.', - qemu_isprint(buf[2]) ? buf[2] : '.', - qemu_isprint(buf[3]) ? buf[3] : '.', - qemu_isprint(buf[4]) ? buf[4] : '.', - qemu_isprint(buf[5]) ? buf[5] : '.', - qemu_isprint(buf[6]) ? buf[6] : '.', - qemu_isprint(buf[7]) ? buf[7] : '.'); + TRACE("Magic is %s", nbd_magic_to_string(print_buf, buf, 9)); if (memcmp(buf, "NBDMAGIC", 8) != 0) { error_setg(errp, "Invalid magic received"); -- 2.11.1