qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/5] Avoid unportable %m format


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 4/5] Avoid unportable %m format
Date: Tue, 10 Jul 2012 15:53:23 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1

On 07/08/2012 06:51 AM, address@hidden wrote:
From: Blue Swirl<address@hidden>

Replace %m format with explicit call to standard strerror().

Signed-off-by: Blue Swirl<address@hidden>

I would expect '%m' to be thread safe whereas strerror() isn't. I don't think this change is actually good.

You'd need to do something more clever with strerror_r() to be equivalent.

Regards,

Anthony Liguori

---
  kvm-all.c       |    3 ++-
  main-loop.c     |    2 +-
  net/tap-linux.c |    8 +++++---
  qemu-nbd.c      |    3 +--
  4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/kvm-all.c b/kvm-all.c
index f8e4328..d6f4819 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1219,7 +1219,8 @@ int kvm_init(void)
      s->vmfd = -1;
      s->fd = qemu_open("/dev/kvm", O_RDWR);
      if (s->fd == -1) {
-        fprintf(stderr, "Could not access KVM kernel module: %m\n");
+        fprintf(stderr, "Could not access KVM kernel module: %s\n",
+                strerror(errno));
          ret = -errno;
          goto err;
      }
diff --git a/main-loop.c b/main-loop.c
index eb3b6e6..472c55e 100644
--- a/main-loop.c
+++ b/main-loop.c
@@ -116,7 +116,7 @@ static void sigfd_handler(void *opaque)
          }

          if (len != sizeof(info)) {
-            printf("read from sigfd returned %zd: %m\n", len);
+            printf("read from sigfd returned %zd: %s\n", len, strerror(errno));
              return;
          }

diff --git a/net/tap-linux.c b/net/tap-linux.c
index 41d581b..94e5b1e 100644
--- a/net/tap-linux.c
+++ b/net/tap-linux.c
@@ -42,7 +42,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr, 
int vnet_hdr_required

      TFR(fd = open(PATH_NET_TUN, O_RDWR));
      if (fd<  0) {
-        error_report("could not open %s: %m", PATH_NET_TUN);
+        error_report("could not open %s: %s", PATH_NET_TUN, strerror(errno));
          return -1;
      }
      memset(&ifr, 0, sizeof(ifr));
@@ -74,9 +74,11 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr, 
int vnet_hdr_required
      ret = ioctl(fd, TUNSETIFF, (void *)&ifr);
      if (ret != 0) {
          if (ifname[0] != '\0') {
-            error_report("could not configure %s (%s): %m", PATH_NET_TUN, 
ifr.ifr_name);
+            error_report("could not configure %s (%s): %s", PATH_NET_TUN,
+                         ifr.ifr_name, strerror(errno));
          } else {
-            error_report("could not configure %s: %m", PATH_NET_TUN);
+            error_report("could not configure %s: %s", PATH_NET_TUN,
+                         strerror(errno));
          }
          close(fd);
          return -1;
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 5a0300e..099b5ed 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -213,8 +213,7 @@ static void *nbd_client_thread(void *arg)

      fd = open(device, O_RDWR);
      if (fd<  0) {
-        /* Linux-only, we can use %m in printf.  */
-        fprintf(stderr, "Failed to open %s: %m", device);
+        fprintf(stderr, "Failed to open %s: %s", device, strerror(errno));
          goto out;
      }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]